GitHub Actions: Workflow Dispatch e Trigger Manual
O workflow_dispatch é uma funcionalidade do GitHub Actions que permite disparar manualmente um workflow, ou seja, executar um pipeline de ações de forma controlada, sem a necessidade de um evento específico, como um push ou pull request. Esse recurso é muito útil quando você quer ter o controle sobre quando um workflow deve ser executado, como em implantações de produção, execução de tarefas de manutenção ou validações específicas em momentos precisos.
Neste post, vamos explorar como funciona o trigger manual workflow_dispatch, como configurar e disparar workflows manualmente e apresentar exemplos de como utilizá-lo no seu repositório GitHub.
Como Funciona o Workflow Dispatch
O workflow_dispatch é utilizado para permitir que você execute workflows manualmente através da interface do GitHub, com a possibilidade de fornecer parâmetros personalizados para o workflow no momento da execução. Ele é adicionado ao arquivo de configuração do workflow, no formato YAML, na seção on.
Ao configurar o workflow_dispatch, você pode criar um botão na interface do GitHub para disparar o workflow sempre que necessário, e também pode incluir entradas personalizadas (inputs) que permitem fornecer parâmetros específicos ao workflow durante a execução.
Veja abaixo um exemplo básico de como configurar e usar o workflow_dispatch.
Exemplo de Código: Workflow Dispatch
Abaixo está um exemplo de como configurar um workflow no GitHub Actions que pode ser disparado manualmente usando workflow_dispatch.
name: Manual Trigger Example
on:
workflow_dispatch:
inputs:
deploy_environment:
description: 'Escolha o ambiente de deploy'
required: true
default: 'staging'
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Deploy to environment
run: |
echo "Deploying to ${{ github.event.inputs.deploy_environment }} environment"
Explicando o Workflow
- name: Define o nome do workflow (neste caso, "Manual Trigger Example").
- on: Define o evento que dispara o workflow. Aqui, ele é acionado quando um usuário clica no botão para disparar o workflow manualmente, utilizando o workflow_dispatch.
- inputs: Definimos um parâmetro de entrada chamado deploy_environment, que o usuário pode fornecer ao disparar o workflow. Esse parâmetro pode ser utilizado no workflow para controlar, por exemplo, o ambiente de deploy (como 'staging' ou 'production').
- jobs: Define o trabalho a ser realizado. No exemplo, o job é chamado de
deploy. - steps: Define as etapas dentro do job. No exemplo, temos:
- Checar o código do repositório com
actions/checkout@v2. - Exibir a mensagem de deploy para o ambiente escolhido pelo usuário.
- Checar o código do repositório com
Como Acionar o Workflow
Depois de configurar o arquivo de workflow no repositório, você pode disparar o workflow manualmente diretamente pela interface do GitHub. Siga os seguintes passos:
- Vá para a página do seu repositório no GitHub.
- Clique na aba Actions no topo da página.
- Selecione o workflow que você configurou (por exemplo, "Manual Trigger Example").
- Clique no botão Run workflow.
- Escolha o valor do parâmetro deploy_environment (por exemplo, 'staging' ou 'production').
- Clique em Run workflow novamente para disparar o workflow manualmente.
Saída Esperada
Após disparar o workflow, você verá a saída do workflow na interface do GitHub. Abaixo está um exemplo do que você verá no log de execução:
Run actions/checkout@v2
...
Run Deploy to environment
Deploying to staging environment
O workflow executará a etapa de deploy e imprimirá a mensagem de deploy para o ambiente escolhido (neste caso, "staging").
Benefícios de Usar o Trigger Manual
- Controle total sobre a execução: O workflow_dispatch permite que você decida exatamente quando o workflow deve ser executado, tornando-o ideal para tarefas manuais como deploys ou manutenções.
- Parâmetros personalizados: Com inputs personalizados, você pode permitir que o usuário forneça parâmetros específicos para o workflow, o que torna o processo mais flexível.
- Facilidade de uso: O GitHub Actions facilita a execução manual de workflows com uma interface simples e intuitiva.
Agora que você aprendeu como configurar e usar o workflow_dispatch, experimente adicionar workflows manuais ao seu repositório GitHub para automatizar tarefas de forma controlada e personalizada. Se tiver dúvidas ou quiser compartilhar suas experiências, deixe nos comentários.
Comentários
Postar um comentário