Tive um problema de longa data com uma instalação do Discourse que estava presa na versão v2.9.0.beta1 — devido a desafios pessoais, não consegui resolvê-lo por anos. Na época, parecia impossível migrar para a v2.9.0.beta2. Recentemente, ao solucionar um problema de reconstrução, comentei certos hooks no meu app.yml (especificamente, aqueles que forçavam um checkout de tag) da seguinte forma:
Após a reconstrução, minha instância atualizou inesperadamente para a versão 3.4.0.beta4-dev. Embora eu esteja feliz por ter superado esse problema, agora quero que o sistema continue seguindo o fluxo beta 3.4.0 até que uma versão estável 3.4.x esteja disponível — e, uma vez que esteja, que se fixe nessa versão estável para que não atualize automaticamente para versões beta ou de desenvolvimento futuras.
Qual é o método adequado para “fixar” ou travar a versão em uma versão estável assim que ela estiver disponível, sem ter que reverter ou realizar intervenções manuais em cada reconstrução?
Qualquer orientação ou melhores práticas seria muito apreciada!
Parece que você mudou a versão para estável após a reconstrução. Você está além do estável agora, então precisará mudá-la para beta ou tests-passed até o próximo lançamento estável (e como houve um na semana passada, será daqui a um bom tempo (geralmente 8-10 meses)
Não, infelizmente não… Tenho 100% de certeza disso, estava em 3.4.0.beta4-dev e então mudei o app.yml e fiz a reconstrução. Então 3.5.0.beta1-dev apareceu. Este é 100% o caminho que foi seguido… Não tenho DÚVIDA alguma, só para deixar claro. Eu literalmente verifiquei as coisas antes das ações que notei.
Obrigado novamente pela sua ajuda @pfaffman. Para resumir meu entendimento atual:
Nossa instância estava executando 3.4.0.beta4-dev, que não é considerada uma versão estável.
Quando atualizei minha configuração para usar version: stable (com o padrão comentado), esperava que reconstruções futuras fixassem a instância no branch estável. No entanto, como já estávamos em uma versão beta, a atualização continuou avançando — resultando em 3.5.0.beta1-dev.
Parece que mudar para version: stable depois de ter avançado além da tag estável não aciona um rollback; apenas significa que, se estivéssemos no nível estável ou abaixo dele, ele nos fixaria no estável em vez de rastrear versões beta.
Isso está correto?
Além disso, você poderia esclarecer qual é o processo recomendado para garantir que não sigamos acidentalmente o canal beta no futuro? Especificamente:
Deixar version: stable como a configuração ativa é suficiente para garantir que, quando uma versão estável estiver disponível, nossas reconstruções serão fixadas nela — desde que ainda não a tenhamos ultrapassado quando a versão estável chegar?
Existem etapas adicionais ou tarefas de limpeza (como remover ou modificar quaisquer outros elementos de configuração) que devemos realizar para evitar a atualização inadvertida para versões beta/de desenvolvimento?
Estou muito interessado em fixar em uma versão estável o mais rápido possível, mas não quero que ela pule novamente…
Droga! Talvez eu tenha olhado muito rápido no meu celular. Não tenho explicação para como perdi isso nem como o site agora está rodando 3.5.0.beta1-dev.
Depois de ter sofrido o impacto da atualização 3.4.0.beta4-dev ligada à migração do postgres 13 para 15, consegui recuperar uma versão funcional 3.5.0.beta1-dev!
Agora, no painel, há uma nova versão:
Instalado Mais recente
3.5.0.beta1-dev 3.5.0.beta1
(b37b51d15f)
Mas na página de Atualizações, vemos:
Nome Hash do Commit Última Atualização Versão Mais Recente Status
Nova versão disponível! v3.4.0.beta4 +182 43 mins atrás v3.5.0.beta1 +8 Atualizar