Especificar os eventos que disparam os pipelines

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Um gatilho do pipeline determina quando ele deve ser executado. Você pode configurar um gatilho para executar um pipeline com base em um agendamento ou em resposta a um evento, como a criação de uma solicitação de pull. Azure Pipelines dá suporte aos seguintes tipos de gatilhos:

  • Os gatilhos de integração contínua (CI) disparam um pipeline quando você faz push do código para uma ramificação.
  • Gatilhos de pull request (gatilhos de PR) executam um pipeline quando você abre uma PR ou envia código para o branch de origem de uma PR aberta. Os repositórios do GitHub oferecem suporte a gatilhos por comentário que executam um pipeline quando você adiciona um comentário em uma pull request aberta.
  • Os gatilhos agendados executam um pipeline de acordo com uma programação predefinida.
  • Os gatilhos de conclusão do pipeline executam um pipeline quando outro pipeline é concluído.

Este artigo fornece uma visão geral dos gatilhos de pipeline YAML e dos gatilhos de pipeline de build clássico. Os pipelines de lançamento clássicos têm versões semelhantes dos gatilhos descritos na lista anterior. Para obter mais informações, consulte gatilhos de pipeline de versão clássica.

Disparadores de CI

Um gatilho de CI executa um pipeline quando um push é enviado para uma ramificação que atende aos critérios definidos pelo gatilho. Use a trigger palavra-chave para configurar um gatilho de CI. Por exemplo, para executar um pipeline quando um push é enviado para a ramificação main, especifique o seguinte gatilho.

trigger:
- main

Se você não configurar explicitamente o pipeline, todos os branches estarão com os gatilhos de CI habilitados por padrão, a menos que Desabilitar gatilho de CI implícito esteja ativada ou que as configurações da interface do usuário substituam o gatilho YAML.

Se você não configurar explicitamente seu pipeline, todas as ramificações terão gatilhos de CI habilitados por padrão, a menos que Desabilitar gatilho de CI implícito esteja definido ou que as configurações da interface do usuário substituam o gatilho YAML.

Observação

Desabilitar gatilho de CI implícito só está disponível no Azure DevOps Server 2022.2 e posteriores. No Azure DevOps Server 2022 e 2022.1, os gatilhos de CI são habilitados por padrão se não estiverem configurados explicitamente.

Para desabilitar os gatilhos de CI em seu pipeline, use a sintaxe a seguir.

trigger: none

Os pipelines YAML dão suporte a gatilhos de CI para os seguintes tipos de repositório. Para obter informações específicas sobre como usar gatilhos de CI com um tipo de repositório específico, consulte os artigos a seguir.

Para obter informações sobre a sintaxe completa do gatilho YAML e as opções disponíveis para gatilhos de CI, consulte a definição do gatilho.

Importante

No Git, os caminhos fazem distinção entre maiúsculas e minúsculas, incluindo os filtros de caminho de disparo de CI e de PR.

Gatilhos de PR

Os gatilhos de pull request (PR) disparam a execução de um pipeline sempre que você abre um pull request ou envia alterações para o branch de origem de um pull request. Use a pr palavra-chave para configurar um gatilho de PR. Por exemplo, para executar um pipeline quando uma PR é aberta para a ramificação main, especifique o gatilho a seguir.

pr:
- main

Se você não configurar explicitamente os gatilhos de PR em seu pipeline, eles serão habilitados por padrão, a menos que as configurações da interface do usuário substituam o gatilho YAML. Solicitações de pull para qualquer branch disparam uma execução de pipeline. Para desabilitar gatilhos de PR em seu pipeline, use a sintaxe a seguir.

pr: none

Há suporte para gatilhos de PR YAML para GitHub e o Bitbucket Cloud. Para obter mais informações sobre como usar gatilhos de PR com esses tipos de repositórios, consulte gatilhos de PR no GitHub e gatilhos de PR no Bitbucket Cloud. Para obter informações sobre a sintaxe completa do gatilho de PR em YAML, consulte a definição de PR.

Azure Repos Git usa políticas de branch para implementar gatilhos de PR. Para obter mais informações, consulte Gatilhos de PR no Azure Repos Git.

Acionadores de comentários

Gatilhos de comentário configuram um pipeline a ser executado quando os colaboradores fazem um comentário de solicitação de pull contendo um comando de solicitação de pull como /azp run. Os gatilhos de comentário têm suporte apenas para repositórios de GitHub. Para obter mais informações, consulte gatilhos de comentário do repositório do GitHub.

Acionadores agendados

Os gatilhos programados executam um pipeline de acordo com uma programação predefinida. Todos os tipos de repositório que dão suporte a pipelines YAML dão suporte a gatilhos agendados em pipelines YAML. Esses tipos de repositório incluem Azure Repos Git, GitHub, GitHub Enterprise Server e Bitbucket Cloud.

Para definir um gatilho agendado no YAML, use a schedules palavra-chave e defina sua agenda usando a sintaxe cron. O exemplo a seguir configura um agendamento que é executado todos os dias à meia-noite.

# YAML file in the main branch
schedules:
- cron: '0 0 * * *'
  displayName: Daily midnight build
  branches:
    include:
    - main

Para obter mais informações e exemplos, consulte gatilhos programados, definição de agendamentos e definição de schedules.cron.

Gatilhos de conclusão do pipeline

Os gatilhos de pipeline em pipelines do YAML e gatilhos de conclusão de build em pipelines de build clássicos permitem disparar um pipeline após a conclusão de outro.

Configure um gatilho de recurso de pipeline no seu pipeline para iniciar uma execução quando uma execução do pipeline de origem for concluída.

resources:
  pipelines:
  - pipeline: sourcePipelineResource # Label for this pipeline resource; used when referring to it elsewhere in the pipeline.
    source: source-pipeline # The name of the pipeline referenced by this pipeline resource.
    project: FabrikamProject # Required only if the source pipeline is in another project
    trigger: true # Run this pipeline when any run of source-pipeline completes

Você pode adicionar vários recursos de pipeline ao seu pipeline. Você pode configurar o gatilho para ser executado quando qualquer versão do pipeline de origem for concluída ou limitá-lo a determinadas ramificações.

Para obter mais informações e exemplos, consulte gatilhos de conclusão do pipeline.

Para obter a sintaxe completa e as opções de gatilho, consulte a definição resources.pipelines.pipeline.

Consideração de ramificação para gatilhos em pipelines do YAML

Pipelines YAML podem ter versões diferentes do pipeline em diferentes ramificações, o que pode afetar qual versão dos gatilhos do pipeline será avaliada e qual versão do pipeline deverá ser executada.

Tipo de gatilho Versão YAML do pipeline
Acionadores de CI (trigger) A versão do pipeline da branch enviada é usada.
Acionadores de PR (pr) A versão do pipeline na ramificação de origem da solicitação de pull request é usada.
Gatilhos de comentário em pull request do GitHub A versão do pipeline na ramificação de origem do pull request é utilizada.
Gatilhos agendados Confira Considerações sobre branch para gatilhos agendados.
Acionadores de conclusão do pipeline Consulte Considerações sobre ramificação para gatilhos de conclusão do pipeline.

Pipelines de lançamento clássicos

Gatilhos de implantação contínua permitem iniciar releases clássicos após a conclusão de um build clássico ou de um pipeline YAML.

Gatilhos de versão agendados permitem que você execute um pipeline de lançamento de acordo com um agendamento.

Gatilhos de versão para pull requests são usados para implantar um pull request diretamente por meio de versões clássicas.

Gatilhos de estágio na versão clássica são usados para configurar como cada estágio em uma versão clássica é disparado.