GitHub Actions: Automação de CI/CD do Zero
Aprenda a criar pipelines de integração e entrega contínua que executam automaticamente a cada commit, garantindo qualidade e agilidade no desenvolvimento.
O que é CI/CD?
Continuous Integration (CI) e Continuous Deployment (CD) são práticas essenciais no desenvolvimento moderno. A ideia é simples: automatize tudo o que puder ser automatizado, para que você foque no que realmente importa — escrever bom código.
- CI (Integração Contínua): a cada commit, o código é testado e validado automaticamente
- CD (Entrega Contínua): após validação, o código é deployado automaticamente para produção
Por que usar GitHub Actions?
GitHub Actions é a solução nativa do GitHub para automação de workflows. Integrado diretamente ao repositório, ele elimina a necessidade de servidores externos como Jenkins ou CircleCI para a maioria dos projetos.
Vantagens principais:
- Gratuito para repositórios públicos e com generoso plano gratuito para privados
- Integrado nativamente ao GitHub sem configuração extra
- Marketplace com milhares de Actions prontas
- Suporte a múltiplos sistemas operacionais (Linux, Windows, macOS)
- Execução em paralelo de jobs
Estrutura de um Workflow
Um workflow é um arquivo YAML dentro da pasta .github/workflows/ do seu repositório. Ele define quando o pipeline roda e quais etapas executa.
A estrutura básica é composta por:
- name: nome do workflow
- on: evento que dispara o workflow (push, pull_request, schedule...)
- jobs: grupos de steps que rodam em um runner
- steps: cada passo individual (checkout, instalar, testar, deployar)
Exemplo Prático: Node.js com Deploy no Azure
Um workflow típico para uma aplicação Node.js que faz deploy no Azure App Service segue este fluxo:
- Disparo no push para a branch
main - Checkout do repositório com
actions/checkout - Configuração do Node.js na versão desejada
- Instalação das dependências com
npm install - Execução dos testes com
npm test(se existirem) - Build da aplicação com
npm run build(se necessário) - Deploy no Azure usando o secret de publicação configurado
Segredos e Variáveis de Ambiente
Nunca coloque credenciais diretamente no arquivo YAML. Use os GitHub Secrets para armazenar informações sensíveis como connection strings, tokens e senhas.
Para configurar um secret:
- Vá em Settings → Secrets and variables → Actions no seu repositório
- Clique em "New repository secret"
- Adicione o nome e o valor do secret
- Referencie no workflow como
${{ secrets.NOME_DO_SECRET }}
Dicas de Boas Práticas
- Use versões fixas das Actions (ex:
@v3) para evitar mudanças inesperadas - Divida pipelines longos em jobs paralelos para reduzir tempo de execução
- Use cache de dependências para acelerar builds repetidos
- Configure notificações por e-mail ou Slack em caso de falha
- Mantenha o arquivo de workflow versionado junto com o código
Conclusão
GitHub Actions transforma seu repositório em uma máquina de automação. Com poucos minutos de configuração, você garante que todo código commitado passa por validação automática antes de chegar em produção. É o primeiro passo para um ciclo de desenvolvimento profissional e confiável.