Workflow Básico no GitHub Actions
Introdução
Um workflow básico é o alicerce de qualquer automação no GitHub Actions. Compreender sua estrutura fundamental é essencial para criar pipelines eficientes e organizados. Cada workflow representa um processo automatizado que será executado mediante condições específicas que você define.
Definição
Um workflow básico no GitHub Actions é um arquivo YAML que define um processo automatizado contendo três elementos obrigatórios: name (identificação), on (eventos de trigger) e jobs (tarefas a serem executadas). Estes elementos formam a base de qualquer automação no GitHub.
Explicação Técnica
Elementos Obrigatórios
1. name - Identificação do Workflow
Define o nome que aparecerá na interface do GitHub Actions.
name: "Meu Primeiro Workflow"
2. on - Eventos de Trigger
Especifica quando o workflow deve ser executado.
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
3. jobs - Tarefas do Workflow
Contém as tarefas que serão executadas. Cada job roda em um ambiente isolado.
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout código
uses: actions/checkout@v4
- name: Executar comando
run: echo "Hello World!"
Estrutura Completa Mínima
name: Workflow Básico
on:
push:
branches: [ main ]
jobs:
exemplo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: echo "Workflow executado com sucesso!"
Componentes Detalhados
Jobs
Cada job pode ter múltiplos steps e roda em paralelo por padrão:
jobs:
primeiro-job:
runs-on: ubuntu-latest
steps:
- name: Passo 1
run: echo "Executando passo 1"
- name: Passo 2
run: echo "Executando passo 2"
segundo-job:
runs-on: windows-latest
steps:
- name: Job no Windows
run: echo "Executando no Windows"
Steps
Podem usar actions pré-construídas ou comandos shell:
steps:
# Usando action
- name: Checkout
uses: actions/checkout@v4
# Usando comando shell
- name: Listar arquivos
run: ls -la
# Comando multi-linha
- name: Comandos múltiplos
run: |
echo "Primeira linha"
echo "Segunda linha"
pwd
Localização do Arquivo
O workflow deve ser salvo em:
.github/
└── workflows/
└── meu-workflow.yml
Conclusão
Um workflow básico com name, on e jobs é a fundação de toda automação no GitHub Actions. Começar com uma estrutura simples e bem organizada facilita a evolução para workflows mais complexos. A chave está em manter a clareza na definição de cada elemento e gradualmente adicionar funcionalidades conforme a necessidade do projeto.