Este é um projeto de exemplo que demonstra como criar um pipeline CI/CD para o Terraform usando o GitHub Actions na AWS e Azure.
O pipeline é desencadeado a cada push no branch principal do repositório. Ele consiste em três jobs que são executados em sequência:
Terraform Plan: Este job inicializa o Terraform, valida a configuração e executa o plano de infraestrutura.
Terraform Apply: Este job é manual e pode ser desencadeado a partir da interface do GitHub Actions. Ele inicializa o Terraform e aplica as alterações definidas no plano de infraestrutura.
Terraform Destroy: Este job é manual e pode ser desencadeado a partir da interface do GitHub Actions. Ele inicializa o Terraform e destrói a infraestrutura criada anteriormente.
Os jobs são executados em uma máquina virtual com Ubuntu. O pipeline usa variáveis de ambiente definidas em um arquivo terraform-cicd.yml para autenticar-se nas contas da AWS e Azure.
Antes de executar o pipeline, é necessário criar uma conta na AWS e Azure e configurar as chaves de acesso no GitHub Secrets. Além disso, é necessário instalar o Terraform e as dependências necessárias no ambiente de execução do pipeline.
Para executar o pipeline, faça o seguinte:
Crie uma conta na AWS e Azure e configure as chaves de acesso no GitHub Secrets.
Clone este repositório em sua máquina local.
Instale o Terraform e as dependências necessárias no ambiente de execução do pipeline.
Faça push das alterações no branch principal do repositório. O pipeline será desencadeado automaticamente.
Caso queira fazer alguma alteração no plano da infraestrutura, execute o job terraform Plan manualmente a partir da interface do GitHub Actions.
Para aplicar as alterações definidas no plano de infraestrutura, execute o job Terraform Apply manualmente a partir da interface do GitHub Actions.
Para destruir a infraestrutura criada, execute o job Terraform Destroy manualmente a partir da interface do GitHub Actions.
Sinta-se à vontade para contribuir com o projeto, fazendo um fork e enviando um pull request.