Skip to main content

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 Dockerfile vá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á:

  1. Gerar uma nova versão via semantic-release
  2. Fazer build e push da imagem Docker no GHCR
  3. Atualizar a tag da imagem no kelbi-applications
  4. ArgoCD recebe o webhook e aplica o novo deployment no cluster

Consulte o Pipeline de Deploy para entender o fluxo completo.