Acionadores e eventos de fluxos de trabalho
Explore vários eventos que podem acionar seus fluxos de trabalho do GitHub Actions, como envios, solicitações de pull e eventos agendados.
Acionadores e eventos de fluxos de trabalho é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que inicia um fluxo de trabalho?
Os fluxos de trabalho no GitHub Actions não são executados sozinhos. Eles precisam de um sinal para começar! Esse sinal é chamado de gatilho.
Gatilhos são eventos específicos que informam ao GitHub Actions: "Ei, algo aconteceu! É hora de executar este fluxo de trabalho." Entender os gatilhos é essencial para automatizar seu processo de desenvolvimento com eficiência.
A palavra-chave 'on'
Em seu arquivo de fluxo de trabalho (um arquivo .yml no diretório .github/workflows), você define os gatilhos usando a palavra-chave on.
Esta seção informa ao GitHub Actions quando executar o fluxo de trabalho. Você pode especificar um ou vários eventos.
name: My First Triggered Workflow
on:
push: # This workflow will run on every push event
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run a simple command
run: echo "Workflow triggered!"
Reagindo a envios de código
O evento push é um dos gatilhos mais comuns. Ele é acionado sempre que o código é enviado ao seu repositório, seja em um novo commit ou em uma mesclagem.
Por padrão, um gatilho push é executado para todas as ramificações.
on: push
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- name: Say Hello
run: echo "Code was pushed!"
Envios direcionados
Você pode ajustar o gatilho push para que seja executado apenas em ramificações específicas ou quando ocorrerem alterações em determinados caminhos de arquivos. Isso ajuda a otimizar seus fluxos de trabalho.
branches: executa apenas quando ocorrem envios em nomes de ramificação específicos.paths: executa apenas quando arquivos dentro dos diretórios especificados são alterados.
on:
push:
branches:
- main
- 'feature/*' # Glob pattern for feature branches
paths:
- 'src/**' # Only if changes in src/ directory
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "Push to relevant branch/path detected!"
Automatizando verificações de solicitações de mesclagem
O evento pull_request é acionado quando uma solicitação de mesclagem é aberta, sincronizada (novos commits enviados à ramificação da PR) ou reaberta.
Ele é ideal para executar verificações automatizadas, como testes, análise de estilo ou revisões de código, antes de as alterações serem mescladas à sua base de código principal.
on: pull_request
jobs:
pr_check:
runs-on: ubuntu-latest
steps:
- name: PR opened/updated
run: echo "A pull request was opened or updated!"
Ações específicas de PR
Você pode ajustar ainda mais o gatilho pull_request especificando types. Isso permite que seu fluxo de trabalho reaja apenas a ações específicas relacionadas a uma solicitação de mesclagem.
opened: quando uma nova solicitação de mesclagem é criada.synchronize: quando novos commits são enviados à ramificação da PR.reopened: quando uma solicitação de mesclagem fechada é reaberta.
on:
pull_request:
types: [opened, synchronize, reopened] # Run only on these PR actions
jobs:
pr_review:
runs-on: ubuntu-latest
steps:
- run: echo "PR action: ${{ github.event.action }}"
Gatilhos baseados em tempo
O evento schedule permite executar fluxos de trabalho em horários específicos usando a sintaxe do cron. Isso é perfeito para relatórios diários, tarefas de limpeza ou verificações periódicas.
A sintaxe do cron usa cinco asteriscos que representam: minute hour day-of-month month day-of-week.
on:
schedule:
- cron: '0 0 * * *' # Run daily at midnight UTC
- cron: '0 12 * * 1-5' # Run at 12 PM UTC, Mon-Fri
jobs:
scheduled_task:
runs-on: ubuntu-latest
steps:
- run: echo "Scheduled workflow running!"
Execuções manuais do fluxo de trabalho
Às vezes, é necessário executar um fluxo de trabalho manualmente, talvez para uma implantação ou uma tarefa específica de manutenção. O evento workflow_dispatch permite fazer isso.
Quando esse gatilho está presente, um botão "Executar fluxo de trabalho" aparece na interface do GitHub para esse fluxo de trabalho, permitindo acioná-lo sob demanda.
on: workflow_dispatch
jobs:
manual_task:
runs-on: ubuntu-latest
steps:
- run: echo "This workflow was triggered manually!"
Além do básico
Embora push, pull_request, schedule e workflow_dispatch sejam os mais comuns, as ações do GitHub oferecem muitos outros gatilhos de eventos.
workflow_call: para criar fluxos de trabalho reutilizáveis.repository_dispatch: para acionar fluxos de trabalho a partir de sistemas externos por meio de uma chamada de API.- Muitos outros para eventos específicos do GitHub (por exemplo,
issues,release,fork).
Desafio sobre gatilhos
Você precisa configurar um fluxo de trabalho que gere automaticamente um relatório semanal toda sexta-feira às 17h UTC, independentemente de quaisquer alterações no código. Qual evento de gatilho é mais apropriado para essa tarefa?
Revisão dos gatilhos
Você fez um ótimo trabalho explorando os gatilhos das ações do GitHub! Você aprendeu como os fluxos de trabalho são iniciados por vários eventos:
push: para alterações enviadas ao seu repositório.pull_request: para ações relacionadas a solicitações de pull.schedule: para tarefas recorrentes baseadas em horário usando cron.workflow_dispatch: para execução manual pela interface ou API.
Escolher o gatilho certo é o primeiro passo para criar fluxos de integração e entrega contínuas eficazes e eficientes!
Perguntas Frequentes
A aula “Acionadores e eventos de fluxos de trabalho” é grátis?
Sim — o texto completo de “Acionadores e eventos de fluxos de trabalho” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Acionadores e eventos de fluxos de trabalho”?
Explore vários eventos que podem acionar seus fluxos de trabalho do GitHub Actions, como envios, solicitações de pull e eventos agendados. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Acionadores e eventos de fluxos de trabalho”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Acionadores e eventos de fluxos de trabalho
- Execução de testes com GitHub Actions
- Análise estática e verificações de qualidade do código
- Armazenando dependências em cache para compilações mais rápidas