-
Notifications
You must be signed in to change notification settings - Fork 1
Github Actions
Atualmente o projeto consiste em um ambiente denominado development no qual se reflete no projeto GCP basedosdados-dev
.
A action é acionada quando ocorre um push para a branch main
do repositório e a modificação sob o diretório terraform
. É necessário uma aprovação de uma pessoa do time de infra
para que a action possa ser executada.
Os passos da action cd-terraform.yaml
são:
- [manual] Aprovação de execução da action via interface do GitHub;
- Inicia o processo de deploy no ambiente
development
;- Clona o repositório do projeto;
- Importa as credenciais do GCP armazenadas no Vault;
- Configuração do Terraform;
- Inicializa o Terraform;
- Verifica a formatação dos arquivos do Terraform;
- Valida as configurações dos arquivos do Terraform;
- Aplica as modificaçãos
- Caso falhe em algum passo a action é cancelada;
- Reporta as falhas
Esta etapa consiste em validar as configurações do Terraform e notificar na pull request via comentário o planejamento do deploy.
A action é acionada quando aberto um pull request que contenha alterações no diretório terraform
.
Os passos da action ci-terraform.yaml
são:
- [manual] Criação de uma nova branch para o pull request;
- [manual] Commit das alterações;
- Clona o repositório do projeto;
- Importa as credenciais do GCP armazenadas no Vault;
- Configuração do Terraform;
- Inicializa o Terraform;
- Verifica a formatação dos arquivos do Terraform;
- Valida as configurações dos arquivos do Terraform;
- Planejamento do deploy;
- Adiciona/Atualiza o comentário na pull request com o saída do
terraform plan
; - Caso falhe em algum passo a action é cancelada;
A action tem como objetivo calcular o custo de infraestrutura dos componentes declarados no Terraform e adicionar um comparativo via comentário na pull request.
A action é acionada na criação de uma pull request que contenha alterações no diretório terraform
.
Os passos da action infracost.yaml
são:
- Clona o repositório do projeto;
- Importa as credenciais do GCP armazenadas no Vault;
- Configuração do Infracost;
- Altera para a branch principal;
- Altera para a branch corrente;
- Gera uma diferença entre as duas branches;
- Adiciona um comentário na pull request com o saída do
infracost --diff
;