Pular para o conteúdo principal

GitHub Actions: Workflow Dispatch e Trigger Manual

 

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

  1. name: Define o nome do workflow (neste caso, "Manual Trigger Example").
  2. 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.
  3. 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').
  4. jobs: Define o trabalho a ser realizado. No exemplo, o job é chamado de deploy.
  5. 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.

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:

  1. Vá para a página do seu repositório no GitHub.
  2. Clique na aba Actions no topo da página.
  3. Selecione o workflow que você configurou (por exemplo, "Manual Trigger Example").
  4. Clique no botão Run workflow.
  5. Escolha o valor do parâmetro deploy_environment (por exemplo, 'staging' ou 'production').
  6. 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