Provisionamento da infraestrutura na nuvem.
A definição da infraestrutura pode ser encontrada na pasta infra do repositório do backend da aplicação. Foi utilizado o Cloud Formation para o provisionamento da infraestrutura.
Para provisionar infraestrutura basta acessar a pasta e executar o comando:
make provision
Caso haja mudanças é necessário atualizar os modulos com os comandos:
make update_nested_stacks
make update
Para remover todos os artefatos criados na nuvem é necessário executar o comando:
make destroy
Para que estes comandos possam ser executados é necessário configurar as credenciais para o AWS CLI
Deploy da API na infraestrutura criada.
Configuração do GitLab para executar pipelines.
Após o provisionamento da infraestrutura da AWS com o Cloud Formation, é necessário adicionar variáveis de ambiente para a pipeline CI/CD no repositório do backend da aplicação. As variáveis são:
- AWS_ACCESS_KEY_ID: Id da chave de acesso da conta da AWS.
- AWS_SECRET_ACCESS_KEY: Chave de acesso secreta da conta da AWS.
- DB_PASSWORD: Senha do banco de dados.
- JWT_SECRET: Segredo do JWT especificado na API.
Como executar a pipeline?
Para que haja o deploy da API na infraestrutura criada é necessário realizar um novo commit na branch main do repositório do backend da aplicação.
Esta ação executa uma pipeline de deploy que será executada pelo GitLab e realizará todas as etapas necessárias para executar a API na infraestrutura.
Caso a API já esteja sendo executada, um novo commit na branch main realizará um novo deploy da API com o código do novo commit criado.