- Assumindo que todas as configurações permaneçam inalteradas (compilação e inicialização iguais)
- Para acelerar o processo de construção, espero construir uma imagem em um servidor de empacotamento dedicado e carregá-la no Harbor, depois baixá-la antes de usar a imagem pré-construída para reduzir o tempo de compilação
- Posso perguntar se existem tutoriais relevantes que possam ser implementados dessa forma? Ou pode ser implementado por conta própria, mas não há suporte oficial e precisa ser explorado por conta própria?
Eu acho que a equipe do Discourse faz algo assim para o produto hospedado deles, então você pode ter seu fórum funcionando com eles em minutos (seria realmente ineficiente se o usuário tivesse que esperar tudo ser instalado, certo?). Acho que não há Documentation para isso, no entanto.
Não estou ciente de um guia, mas basicamente, você faz um bootstrap, envia essa imagem para o seu repositório e, em seguida, usa ./launcher start-cmd para obter o ENV necessário para iniciar o contêiner.
Em algum momento, você precisa migrar o banco de dados (se quiser uma implantação com tempo de inatividade zero, você quer saber sobre SKIP_POST_DEPLOYMENT_MIGRATIONS para permitir que você migre o banco de dados enquanto o contêiner antigo está em execução e rake db:ensure_post_migrations db:migrate após ele ser iniciado). Você também precisa pré-compilar ativos e, se estiver usando S3, enviá-los para lá.
Essas são pelo menos a maioria das peças específicas do Discourse. Se você gostaria de mais ajuda e tem um orçamento, estou disponível.