Olá,
Tenho o Discourse instalado em duas VMs separadas do Azure (staging e produção). Existe uma maneira de implantar automaticamente as alterações do Discourse de staging para o Discourse de produção?
Alterações na interface do usuário (tema) serão gerenciadas em um repositório Git, então enviá-las para produção não será um problema. A principal preocupação reside em automatizar a implantação de configurações e ajustes do Discourse no ambiente de produção. Como podemos conseguir isso?
Você pode enviar o contêiner de staging para um repositório e, em seguida, iniciá-lo em produção. O ./launcher start-cmd app fornecerá o necessário para iniciar o contêiner no Docker.
Você também precisará migrar o banco de dados (talvez com SKIP_POST_DEPLOYMENT_MIGRATIONS e, em seguida, novamente quando o novo contêiner tiver iniciado, se desejar tempo de inatividade zero real) e pré-compilar os ativos.
Algumas configurações residem no banco de dados. Outras podem ser definidas com variáveis de ambiente como DISCOURSE_SETTING_NAME (por exemplo, DISCOURSE_TITLE='minha ótima comunidade').
Observe o “mostrar apenas substituídos” no canto superior direito
Isso lhe dará uma lista de coisas que não são padrão e que você pode transferir manualmente.
Dependendo da sua necessidade, isso pode ser mais simples. (Dito isso, tenho mais de 100 configurações que não são padrão na minha instância de vários anos.)
Se você não é um hobbyista, recomendo dois contêineres, pois você tem que parar o banco de dados ao iniciar um novo contêiner, então você não pode ter tempo de inatividade zero. Mas funcionaria com um único contêiner.