Esta atualização está falhando para mim e, no momento, todos os meus 3 fóruns Discourse estão fora do ar.
A janela do console na tela de Upgrade não está exibindo nada, mas o restante da interface sugere que a atualização ainda está em andamento (mas isso já demorou muito mais do que qualquer atualização que já fiz).
Mais alguém está passando por isso? Alguma ideia de como posso fazer a atualização ser concluída com sucesso?
Ahh, esse é o problema com o erro do ruby 3.0 e o web-push-3.0.0?
A interface de atualização de administrador deveria informar isso ao usuário em vez de deixá-lo clicar em “atualizar tudo” e acabar com um fórum completamente quebrado. Isso pouparia muitas palpitações cardíacas aos usuários.
Sem ideia; eu pessoalmente nunca uso a GUI para atualizações, eu pessoalmente só as faço pela linha de comando. Eu não vi nenhum erro que se parecesse com isso. Mas, novamente, eu não teria visto.
Na maioria das vezes, quando você vê uma mensagem de erro genérica, se o cenário específico pudesse ser previsto o suficiente para uma mensagem de erro específica, ele teria sido evitado.
Acho que é bom que o problema de “ajude minha atualização da GUI falhou” seja tão raro que a maioria das pessoas não percebe que a primeira coisa a fazer é simplesmente executar git pull; ./launcher rebuild app para a implantação padrão. É quase sempre a resposta aqui.
Mas é a coisa geral a fazer se a atualização da GUI falhar.
Tenho usado o Discourse há muitos anos. Tipo 7? De qualquer forma, nunca tive uma atualização da web falhando catastroficamente antes. Ela falhou, é claro, mas o fórum sempre voltou à vida porque reverteu e iniciou o contêiner antigo.
Não é um erro genérico, a coisa do ruby é bem clara.
web-push-3.0.0 requer a versão ruby >= 3.0, que é incompatível com a
versão atual, 2.7.6
Docker Manager: FALHA AO ATUALIZAR
Eu estaria reclamando bem alto sobre isso se pagasse pelo Discourse. Não porque há um grande bug que matou nosso fórum, bugs acontecem, mas porque não foi corrigido nos últimos 3 dias, pelo menos. Como está, apenas um pouco de emoção no final do dia.
Do ponto de vista do gerenciador do Docker, aquele código, na época em que a versão já em execução foi escrita, não sabia que no futuro esse problema aconteceria. Entendo que você esteja frustrado, mas o que você está pedindo pode não fazer sentido tecnicamente.
Se você pagasse pelo Discourse, eles estariam gerenciando esse processo e você nunca o veria.
Mesmo que tecnicamente impossível de corrigir, vocês poderiam enviar e-mails aos usuários para avisá-los para atualizar via CLI. Façam barulho sobre isso. Quebrar fóruns sem rollback é ruim.
Eu pensei que o Discourse também vendesse suporte para uso on-premise? De qualquer forma, não posso reclamar muito alto, pois não sou um cliente pagante, mas, caramba, 3 dias não é ótimo.
Fico feliz por você que esta é a primeira vez em sete anos que você teve que recorrer a isso, mas:
Vou chamar isso de uma caracterização incorreta. A CDCK realmente recomenda backups antes das atualizações como uma boa prática. Já vi muitas vezes aqui no meta a observação de que, se a atualização da GUI falhar, recorra à reconstrução pela linha de comando, como parte das expectativas normais para administrar seu próprio fórum. Eles não quebraram fóruns sem rollback, então sua implicação é falsa.
Não vou ficar aqui discutindo por horas. Acho apenas que você não está sendo completamente razoável aqui.
Além disso, atualizar um servidor de produção sem executar essa atualização em algum tipo de ambiente de homologação é pedir por problemas.
Não precisa ser uma cópia em escala total, um VPS de US$ 5 é suficiente para a maioria. Se você quiser evitar tempo de inatividade e a necessidade de recorrer aos seus backups, é o seguro mais barato que você pode obter.
Se você estivesse me perguntando sim, a reconstrução da CLI funcionou bem. Sou um SA decente e encontrei a solução nos fóruns aqui, mas parece que outros proprietários de fóruns como @pearsonified foram severamente inconvenientes. 18 horas de inatividade, uau.
Pessoas falando sobre ambientes de staging e produção estão loucas. Existem muitas pessoas não corporativas hospedando fóruns Discourse em pequenas VMs. “Você deveria estar testando em um ambiente de staging” é uma resposta insultuosa e santimoniosa que não justifica de forma alguma quebrar a instalação deles. Nada justifica isso.
Eu só quero enfatizar que aprecio que este excelente software seja completamente gratuito. Sou grato por isso, e os tropeços ocasionais não mudam meus sentimentos.
Discourse é gratuito, servidores, domínios e nosso tempo não são.
Isso não tem nada a ver com ambientes corporativos, é apenas senso comum quando há tantas variáveis em jogo. Muito trabalho é feito para tornar as atualizações perfeitas e, se você preferir doar seu tempo gratuitamente para resolver problemas significativos, essa é sua decisão - mas pessoalmente, prefiro saber que as comunidades sem fins lucrativos e voluntárias que hospedo ficarão indisponíveis uma vez para uma atualização indolor, em vez de um período prolongado.
O menor VPS na DO será suficiente para reduzir o risco das atualizações, desde que o teste seja representativo - se você for um bom SA, esses US$ 5 são o custo de uma xícara de café e uma fração da sua taxa de mercado por hora.
A VM de stg também teria que conter os dados do fórum, o que dobraria nossos custos de hospedagem. De qualquer forma, não é necessário, é um fórum de videogame e um pouco de inatividade (não 18 horas!) é aceitável. No pior cenário, eu tinha um snapshot da VM antes da atualização, então eu poderia simplesmente ter revertido.
Acho que os 4 dias que isso permaneceu quebrado é preocupante. Falhas de atualização sem rollback deveriam acionar um momento de “santo Deus, isso precisa ser consertado AGORA”. Isso não deveria ser uma declaração controversa.
Eu também recebi o erro do web-push Ruby. Fórum normal, sem plugins personalizados.
web-push-3.0.0 requer versão do ruby >= 3.0, que é incompatível com a
versão atual, 2.7.6
Houve momentos anteriormente em que foi dito que deveria ser atualizado via linha de comando. Talvez essa opção possa ser habilitada agora para qualquer versão que esteja causando esse problema?
Editar: Ah, na verdade diz isso!
O problema é que quando você faz uma atualização do docker_manager e depois clica na aba no topo em vez de atualizar a página. Então, poderia ser alterado para atualizar via HTTP em vez de apenas mudar de aba com JS?