Estou trabalhando em um projeto Angular2 com o Yii2 (PHP / MySQL) como ponto de API. Precisamos implantar o aplicativo Angular em diferentes idiomas para diferentes clientes (usando a compilação AOT do angular-cli).
Qual é a melhor maneira de conseguir isso? Estou olhando para Docker ou Ansible (contêiner) para fazer isso funcionar. Mas os exemplos são principalmente para uma configuração 1: 1. Mas eu precisaria de 1: n, algo como:
deploy app-de new_costomer prod_server
Além disso, quando uma nova versão do aplicativo está disponível, desejo atualizar toda a rede com o novo aplicativo (que exige o upload dos scripts de migração src / pasta AOT compilados e de migração de banco de dados no lado Yii2).
Idealmente, ele faria algo como:
deploy update network-all prod_server
Alguma ideia?
Para esclarecer: Eu tenho vários clientes, cada cliente deve ter seu próprio contêiner (janela de encaixe, através do contêiner ansible). Há o material Angular compilado pela AOT (apenas JS) e o back-end do PHP com o MySQL.
Cada cliente obtém essa configuração em um servidor (portanto, 3 clientes = 3 contêineres de encaixe com o Angular + PHP + MySQL).
Enviamos atualizações para Angular e PHP com bastante frequência (ou seja, toda a pasta DIST precisa ser carregada ou, pelo menos, um diff, scripts de migração para o back-end PHP / MySQL precisa ser executado etc.).
E isso a partir de um comando (porque eu obviamente não quero ter SSH em cada contêiner para fazer tudo isso semi- manualmente).
Como nunca fiz esse tipo de configuração antes, gostaria de ter algumas idéias sobre como isso pode ser alcançado com coisas como Ansible (ou algo semelhante).