GitOps é uma abordagem para a automação de implantações de software que utiliza o Git como fonte única de verdade para a configuração de infraestrutura e aplicações. Com base na ideia de que o estado desejado do sistema é representado como código no repositório Git, o GitOps automatiza o processo de implantação, monitoramento e atualização contínua, sincronizando automaticamente o ambiente com as definições versionadas no Git. Essa prática promove a consistência, rastreabilidade e reversibilidade das mudanças, simplificando a gestão de infraestrutura e facilitando a colaboração entre equipes de desenvolvimento e operações.
Este repositório é uma Prova de Conceito (POC) para a implementação de GitOps usando GitHub Actions. O fluxo de trabalho automatiza o pipeline de Implantação Contínua (CD) para uma aplicação de servidor Golang, garantindo que as alterações enviadas para o branch main
acionem o processo de compilação e implantação.
O fluxo de trabalho do GitHub Actions definido em .github/workflows/cd.yaml
executa as seguintes etapas:
graph TD
A[Push to main] -->|Triggers CD GitOps Workflow| B(Build)
B --> C(Build and push image)
C --> D(Setup Kustomize)
D --> E(Update Kubernetes resources)
E --> F(Commit)
F --> G(Debug)
G --> H(Push)
H --> I[GitHub Repository]