Filtrar gatilhos em solicitações push ou pull de código - AWS CodePipeline

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Filtrar gatilhos em solicitações push ou pull de código

Você pode configurar filtros para acionadores de pipeline para que as execuções de pipeline sejam iniciadas para diferentes eventos do Git, como push de tag ou branch, alterações em caminhos de arquivo específicos, uma pull request aberta em uma ramificação específica e assim por diante. Você pode usar o AWS CodePipeline console ou os update-pipeline comandos create-pipeline e no AWS CLI para configurar os filtros dos acionadores.

Você pode especificar filtros para os seguintes tipos de gatilho:

  • Push

    Um gatilho push inicia um pipeline quando uma alteração é enviada para seu repositório de origem. A execução usará o commit da ramificação para a qual você está enviando (ou seja, a ramificação de destino). Você pode filtrar acionadores push em ramificações, caminhos de arquivo ou tags Git.

  • Solicitação de pull

    Um gatilho de pull request inicia um pipeline quando uma pull request é aberta, atualizada ou fechada no seu repositório de origem. A execução usará o commit da ramificação de origem da qual você está extraindo (ou seja, a ramificação de origem). Você pode filtrar acionadores de pull request em ramificações e caminhos de arquivo.

    nota

    Os tipos de eventos compatíveis com pull requests são abertos, atualizados ou fechados (mesclados). Todos os outros eventos de pull request são ignorados.

A definição do pipeline permite combinar filtros diferentes na mesma configuração de push trigger. Para obter detalhes sobre a definição do pipeline, consulteAcione a filtragem no pipeline JSON (CLI). As combinações válidas são:

  • tags

  • ramos

  • ramificações + caminhos de arquivo

Você especifica os tipos de filtro da seguinte forma:

  • Sem filtro

    Essa configuração de gatilho inicia seu pipeline em qualquer envio para a ramificação padrão especificada como parte da configuração da ação.

  • Especificar filtro

    Você adiciona um filtro que inicia seu pipeline em um filtro específico, como em nomes de ramificações para um envio de código, e busca a confirmação exata. Isso também configura o pipeline para não iniciar automaticamente em nenhuma alteração.

  • Não detecte alterações

    Isso não adiciona um gatilho e o pipeline não inicia automaticamente em nenhuma alteração.

A tabela a seguir fornece opções de filtro válidas para cada tipo de evento. A tabela também mostra quais configurações de gatilho são padronizadas como verdadeiras ou falsas para detecção automática de alterações na configuração da ação.

Configurações do gatilho Tipo de evento Opções de filtro Detecte alterações
Adicione um gatilho — sem filtro nenhuma nenhuma verdadeiro
Adicione um gatilho — filtre no envio de código evento push Tags, ramificações, caminhos de arquivo do Git false
Adicionar um gatilho — filtro para pull requests pull requests ramificações, caminhos de arquivo false
Sem gatilho — não detecte nenhuma nenhuma false
nota

Esse tipo de gatilho usa a detecção automática de alterações (como o tipo de Webhook gatilho). Os provedores de ação de origem que usam esse tipo de gatilho são conexões configuradas para envio de código (Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com e GitLab autogerenciadas).

Para filtragem, padrões de expressão regular no formato glob são suportados conforme detalhado em. Trabalhar com padrões glob na sintaxe

nota

Em certos casos, para pipelines com acionadores filtrados em caminhos de arquivo, o pipeline pode não iniciar quando uma ramificação com um filtro de caminho de arquivo é criada pela primeira vez. Para ter mais informações, consulte Pipelines com conexões que usam filtragem de gatilho por caminhos de arquivo podem não começar na criação da ramificação.

Considerações sobre filtros de gatilho

As considerações a seguir se aplicam ao usar gatilhos.

  • Para um gatilho com filtros de ramificação e caminho de arquivo, ao pressionar a ramificação pela primeira vez, o pipeline não será executado, pois não há acesso à lista de arquivos alterados para a ramificação recém-criada.

  • A mesclagem de uma pull request pode acionar duas execuções de pipeline, nos casos em que as configurações de gatilhos push (filtro de ramificações) e pull request (filtro de ramificações) se cruzam.

Exemplos de filtros de gatilho

Para uma configuração do Git com filtros para os tipos de eventos push e pull request, os filtros especificados podem entrar em conflito entre si. Veja a seguir exemplos de combinações de filtros válidas para eventos push e pull request.

Quando os clientes combinam filtros em um único objeto de configuração, esses filtros usam uma operação AND, o que significa que somente uma combinação completa iniciará o pipeline. O exemplo a seguir mostra a configuração do Git:

{ "filePaths": { "includes": ["common/**/*.js"] }, "branches": { "includes": ["feature/**"] } }

Com a configuração do Git acima, este exemplo mostra um evento que iniciará a execução do pipeline porque a operação AND foi bem-sucedida.

{ "ref": "refs/heads/feature/triggers", ... "commits": [ { ... "modified": [ "common/app.js" ] ... } ] }

Este exemplo mostra um evento que não iniciará a execução do pipeline porque a ramificação é capaz de filtrar, mas o caminho do arquivo não.

{ "ref": "refs/heads/feature/triggers", ... "commits": [ { ... "modified": [ "src/Main.java" ] ... } ] }

Ao mesmo tempo, objetos de configuração de gatilho dentro da matriz push usam uma operação OR. Isso permite que você configure vários gatilhos para iniciar a execução no mesmo pipeline. Para obter uma lista de definições de campo na estrutura JSON, consulteAcione a filtragem no pipeline JSON (CLI).