Como adicionar deploy automático a um novo projeto
Este guia descreve os passos para configurar o pipeline de deploy automatizado em um repositório novo, integrando GitHub Actions, AWS e ArgoCD.
Pré-requisitos
- O projeto deve ter um
Dockerfileválido na raiz.
Passo 1 — Adicionar o GitHub Action ao projeto
Crie o arquivo .github/workflows/deploy.yml no repositório com o workflow reutilizável de deploy:
name: Deploy
on:
push:
jobs:
release:
uses: Invasor-de-Fronteiras/github-actions/.github/workflows/reusable-deploy.yml@main
permissions:
contents: write
id-token: write
packages: write
issues: write
pull-requests: write
Passo 2 — Criar o IAM Role na AWS
O workflow autentica na AWS via OIDC usando um role com o nome <github-repo-id>-github-role. Esse role é criado e gerenciado pelo repositório infra-manage-repos via Terraform.
Permissão restrita
Atualmente, apenas o Tsugami (Yslan Ramos) tem acesso para executar o Terraform do infra-manage-repos. Entre em contato com ele para criar o role antes de mergear o workflow.
Pronto!
Após esses passos, qualquer push na main com commits no padrão Conventional Commits irá:
- Gerar uma nova versão via
semantic-release - Fazer build e push da imagem Docker no GHCR
- Atualizar a tag da imagem no
kelbi-applications - ArgoCD recebe o webhook e aplica o novo deployment no cluster
Consulte o Pipeline de Deploy para entender o fluxo completo.