1. O Que E GitHub Actions
GitHub Actions e a plataforma de automacao nativa do GitHub, lancada em 2019. Ela permite criar workflows de CI/CD (Continuous Integration / Continuous Deployment) que sao executados automaticamente em resposta a eventos no repositorio, como pushes, pull requests, criacao de releases ou em agendamentos.
Diferente de ferramentas externas como Jenkins ou CircleCI, o GitHub Actions e totalmente integrado ao repositorio — sem necessidade de configurar webhooks, autenticar servicos externos ou gerenciar infraestrutura de CI separada para projetos publicos e pequenos projetos privados.
2. Estrutura de um Workflow
Um arquivo de workflow e um arquivo YAML salvo em .github/workflows/. A estrutura basica tem quatro niveis:
- name: nome do workflow exibido na interface do GitHub
- on: eventos que disparam o workflow
- jobs: um ou mais jobs que rodam em paralelo ou em sequencia
- steps: comandos ou actions dentro de cada job
"Cada job roda em um runner isolado — uma maquina virtual efemera que e criada, executa os steps e e descartada ao final."
3. Tipos de Triggers
Os triggers mais usados sao:
- push: dispara ao fazer push em branches especificas
- pull_request: dispara ao abrir ou atualizar um PR
- schedule: dispara em horarios definidos por expressao cron
- workflow_dispatch: permite disparar manualmente via interface ou API
- release: dispara ao publicar um release no GitHub
- workflow_call: permite que um workflow chame outro workflow reutilizavel
4. Actions do Marketplace
Actions sao blocos reutilizaveis criados pela comunidade e pela propria GitHub. As mais populares sao:
- actions/checkout@v4: clona o repositorio no runner
- actions/setup-node@v4: instala e configura Node.js
- actions/setup-python@v5: instala e configura Python
- actions/cache@v4: faz cache de dependencias para acelerar builds
- docker/build-push-action@v5: builda e publica imagens Docker
5. Secrets e Variaveis de Ambiente
Nunca coloque credenciais diretamente no YAML. Use secrets do GitHub:
- Configure secrets em Settings > Secrets and variables > Actions no repositorio
- Acesse no workflow com
${{ secrets.NOME_DO_SECRET }} - Para variaveis nao sensiveis, use vars em vez de secrets
- Secrets nao sao exibidos nos logs — o GitHub os mascara automaticamente
6. Perguntas Frequentes
GitHub Actions e gratuito?
Para repositorios publicos, GitHub Actions e totalmente gratuito com minutos ilimitados. Para repositorios privados, cada plano do GitHub inclui uma cota de minutos gratis por mes. Apos a cota, o uso e cobrado por minuto de acordo com o runner utilizado.
Posso usar self-hosted runners?
Sim. Voce pode registrar sua propria maquina como runner e usar runs-on: self-hosted no workflow. Self-hosted runners sao ideais para workloads com hardware especifico, acesso a redes privadas ou alto volume de builds.
Como reutilizar workflows entre repositorios?
Use workflow_call para criar workflows reutilizaveis. Outros workflows podem chama-los com uses: org/repo/.github/workflows/file.yml@main. Essa abordagem elimina duplicacao de configuracao de CI entre projetos da organizacao.