Após atualizar o Docker com a atualização de um clique, nenhuma versão está sendo exibida

Olá,

Estou enfrentando um problema estranho que nunca tinha encontrado antes. Recebi um aviso por e-mail dizendo que havia uma atualização para minha instalação do Discourse. Ao clicar no link, fui informado de que precisava atualizar minha instalação do Docker antes de poder atualizar qualquer outra coisa.

Já vi isso muitas vezes antes e, por isso, fiz a atualização usando o instalador de um clique. O que foi diferente desta vez é que fui chamado para fora durante o processo. Quando voltei algumas horas depois, vi que o Docker havia sido instalado com sucesso.

Cliquei em “Versões” no topo para poder atualizar todo o resto. Mas, quando aquela tela carregou, ela estava completamente em branco. Ficou assim:

Então, voltei ao e-mail original e cliquei no link para o atualizador de um clique. Aconteceu a mesma coisa.

Tentei carregar a URL https://community.amwcomics.com/admin/upgrade em outro navegador. Aconteceu a mesma coisa.

Tem alguma ideia do que estou fazendo de errado? Fora isso, meu site está carregando normalmente. Só não estou vendo nada agora no atualizador de um clique.

Você precisa reconstruir o aplicativo no terminal para resolver isso:

cd /var/discourse
git pull
./launcher rebuild app

Vejo essa questão postada de vez em quando. Existe a possibilidade de isso ser incorporado de alguma forma para reconstruir e fazer um pull limpo quando necessário para esse tipo de atualização? Estou pensando apenas em pessoas em situações onde executar esses comandos pode não ser uma opção e o suporte pode demorar a responder para reconstruir, possivelmente fora de um horário conveniente para o administrador do site.

Toda a aplicação é parada para uma reconstrução, não há nada em execução para gerenciar esse processo.

Se um processo de gerenciamento fosse criado, o que faríamos quando aquele processo precisasse ser reconstruído?

Esse é um ponto válido e, obviamente, eventualmente haverá uma etapa que precisará ser tratada manualmente em termos de atualização. Eu argumentaria, contrariando a opinião geral, que um processo de gerenciamento deve exigir muito menos reconstruções se sua função principal for ser acionado para reconstruir o aplicativo. Isso deve poder ser feito com muito poucas dependências e muito poucas alterações em rolagem.

Se você não quer atualizar com tanta frequência, talvez não deva atualizar tão frequentemente.

Não acho que você tenha apresentado um argumento convincente para não continuar oferecendo melhorias à imagem base. A necessidade de atualizar via comando varia; não é particularmente frequente, e ainda mais raras são as ocasiões em que há uma necessidade urgente de fazê-lo.

Na verdade, não percebi que estava defendendo isso. Prometo que de forma alguma estou defendendo que as atualizações sejam lançadas com menos frequência :slight_smile:

Estou apenas fornecendo um feedback sobre o que acredito ser uma funcionalidade que melhoraria a experiência do usuário (QoL), por mais infrequente e inconveniente que possa ser. Não tenho problema em executar o comando conforme necessário.

Talvez uma solução intermediária seria que, quando uma atualização fosse aplicada e a execução desse comando fosse necessária, o administrador fosse notificado em algum lugar do painel (ou em um banner, não sei?) indicando claramente que isso é necessário. (Isso talvez reduzisse também a quantidade de posts como “Atualizei e agora xyz está em branco/faltando/não está funcionando”, que aparecem de vez em quando).

Acabei de corrigir a causa raiz que fazia aquela tela ficar branca.

Tivemos uma atualização no nosso plugin docker manager que não era compatível com versões mais antigas do Discourse. Adicionei algum código para restaurar a compatibilidade. Infelizmente, uma vez que aquela tela fica branca, sua única opção é:

cd /var/discourse
./launcher rebuild app

Obrigado, Sam (e @gerhard!). Já tive momentos em que fui orientado a usar o terminal para reconstruir o aplicativo antes de poder atualizar, mas esta é a primeira vez que encontro essa tela branca. É bom saber que há uma razão para isso e que isso levou a uma correção.

Estou reconstruindo as coisas usando o terminal agora. :slight_smile:

EDITADO PARA ADICIONAR: O processo foi concluído e tudo está bem. A página de versão mostra todos os meus plugins e que tudo está atualizado.