Reconstruir launcher app para puxar o discourse mais recente do GitHub

Olá,

Já tenho o Discourse instalado e funcionando. Toda vez que reconstruo o aplicativo, ele baixa o repositório do launcher, a imagem Docker discourse/base e o repositório do Discourse.

Quero limitar esse comportamento para que a reconstrução não verifique e baixe atualizações automaticamente, a menos que um parâmetro específico seja passado.

Alguém já fez algo semelhante?

você se preocupa com a estabilidade da versão?

por que você não muda para o branch estável?

Estou usando a versão estável, 3.2.0.

A intenção é puxar do repositório GitHub ou Docker Hub apenas quando quisermos, não a cada reconstrução do contêiner.

Você está usando uma instalação padrão?

Se sim, por que não executar o comando de reconstrução?

Para sua informação, as atualizações para a versão estável podem ser importantes - elas geralmente contêm correções de vulnerabilidades ou bugs significativos.

Sim, estou usando a abordagem padrão autônoma. Entendo a necessidade de manter o aplicativo atualizado. Minha ideia é adicionar uma flag ao launcher quando eu quiser atualizar o repositório.

Se você quiser reiniciar o contêiner sem reconstruir, basta fazer:

./launcher restart app

Por que você precisa reconstruir sem atualizar - qual é o seu objetivo?

Atualizações estáveis ​​são improváveis ​​de introduzir quaisquer alterações disruptivas.

1 curtida

O ponto do estável é a falta de mudança. Por que você está reconstruindo?

A razão pela qual ele puxa o contêiner é para mantê-lo em paridade com os requisitos do código do discurso.

Se você quiser fazer algo como entrar no contêiner sem fazer um pull, você pode

 docker exec -it app bash

E se você quisesse adicionar um plugin sem reconstruir, você poderia entrar no diretório do plugin e cloná-lo e, em seguida, migrar o banco de dados, mas você ainda precisa ter certeza de que está obtendo o commit correto do plugin para o estável do strangle.

2 curtidas

No caso de adicionar ou remover um plugin, o ./launcher restart app não atualizará a instância.

1 curtida

Dado que os lançamentos estáveis são relativamente raros, eles não apresentam alterações drásticas com frequência e geralmente vêm com atualizações de segurança importantes quando há uma atualização, não entendo sua exigência.

Para mim, adicionar um plugin é uma boa desculpa para atualizar e garantir que você aplicou todas as atualizações disponíveis.

Não atualizar em estável, na minha opinião, é uma má prática, pois pode expô-lo a vulnerabilidades conhecidas por mais tempo.

1 curtida

Fiz as seguintes alterações no launcher

echo "    --pull-git                 Puxa o repositório git mais recente"
  echo "    --pull-image               Puxa a imagem Docker mais recente"

pull_git=false
pull_image=false
rebuild)
      if [ "$(git symbolic-ref --short HEAD)" = "master" ] && [ "$pull_git" = true ]; then
        git branch -m master main
        git fetch origin
        git branch -u origin/main main
        git remote set-head origin -a
      fi
....

Com isso, consigo evitar atualizações toda vez que faço o rebuild. Isso permite que o plugin seja instalado.

Quando tiver problemas com esses plugins, certifique-se de mencioná-los ao iniciar um novo tópico.

Não, não permite, pelo menos não corretamente.

Pode funcionar com plugins somente de API, mas qualquer JavaScript de novos plugins precisa ser compilado, o que acontece no processo de build.

Portanto, para adicionar um novo plugin, você deve realizar um rebuild na maioria dos casos.

O outro problema que você tem é que alterar scripts de build principais pode te colocar em apuros se você não for cuidadoso, especialmente se houver uma mudança significativa o suficiente nos scripts principais.

1 curtida