O projeto foi baseado na seguinte estrutura:
Branch Main para develop e TAG com o prefixo "v" para aplicação e "iac-v" para iac em produção
1- Realizar o clone do repo, após a alteração ou novo desenvolvimento em front-end ou back-end realizar um push para a branch Main.
2- Após a alteração a pipeline irá Buildar, fazer o Push da imagem Docker no AWS ECR e Deployar na infra para o ambiente de desenvolvimento.
3- O deploy no ambiente é realizar atravez de uma alteração no arquivo variables.tf, o valor de versão é trocado por uma nova.
4- Assim que o valor é alterado, inicia a pipeline para a subida da nova versão no ambiente.
5- No ambiente de produção, é necessário criar uma tag para a aplicação com o prefixo "v" exemplo: v1.0.0.
6- Criado a tag para o app, a pipeline irá rá Buildar, fazer o Push da imagem Docker no AWS ECR e Deployar na infra para o ambiente de produção.
7- A subida no ambiente de produção irá iniciar automaticamente. A pipeline irá criar uma TAG "iac-v" baseado na versão do app, exemplo: iac-v1.0.0
8- Deploy em dev e prd realizado!!!
Ambos os ms contém ALB, porém somente o front-end é aberto para a internet, o ALB de back-end está aberto somente para a rede interna. Front-end se conecta a porta 3000 do ALB de back-end.
ACCESS_TOKEN=tokem github AWS_ACCESS_KEY_ID AWS_REGION AWS_SECRET_ACCESS_KEY EMAIL=meu e-mail REPO_NAME_NGINX REPO_NAME_NGINX_SNAPSHOT REPO_NAME_RAILS REPO_NAME_RAILS_SNAPSHOT REPO_URL=github.com/chronno4/LabforPortfolio.git USER_GIT=chronno4