Adicionar gatilho com tipos de eventos code push ou pull request - AWS CodePipeline

Adicionar gatilho com tipos de eventos code push ou pull request

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

nota

O campo BranchName de configuração da ação define uma única ramificação, e os gatilhos com filtros podem ser usados para qualquer ramificação ou ramificações especificadas por você. Para um pipeline no qual os gatilhos sejam usados para filtrar ramificações por push ou pull request, o pipeline não usará a ramificação do campo BranchName padrão na configuração da ação. No entanto, a ramificação no campo BranchName na configuração da ação é o padrão quando o pipeline é iniciado manualmente. Para obter um exemplo, consulte 5: acionador configurado enquanto a configuração da ação padrão BranchName é usada para uma inicialização manual.

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

  • Push

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

  • Solicitação pull

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

    Os tipos de evento compatíveis para pull requests são os seguintes. Todos os outros eventos de solicitação pull são ignorados.

    • Aberto

    • Atualizado

    • Fechado (mesclado)

    nota

    Determinados comportamentos do evento pull request podem mudar de acordo com o provedor. Para obter detalhes, consulte Eventos pull request para acionadores por provedor.

A definição do pipeline permite combinar filtros diferentes na mesma configuração de push de gatilho. Para saber mais sobre a definição do pipeline, consulte Adicionar filtros para tipos de evento push e pull request (CLI). Para obter uma lista das definições de campo, consulte gatilhos na referência de estrutura do Pipeline neste guia.

Adicione filtros para tipos de evento push e pull request (console)

Você pode usar o console para adicionar filtros para eventos push e incluir ou excluir ramificações ou caminhos de arquivo.

Adicionar filtros (console)
  1. Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home.

    Os nomes e status de todos os pipelines associados à sua conta da AWS são exibidos.

  2. Em Nome, selecione o nome do pipeline que você deseja editar. Caso contrário, use essas etapas no assistente de criação de pipeline.

  3. Na página de detalhes do pipeline, selecione Editar.

  4. Na página Editar, escolha a ação de origem que você deseja editar. Escolha Editar gatilhos. Escolha Especificar filtro.

  5. Em Tipo de evento, escolha Push entre as opções a seguir.

    • Escolha Push para iniciar o pipeline quando uma alteração for enviada para o repositório de origem. Essa escolha permite que os campos especifiquem filtros para ramificações e caminhos de arquivo ou etiquetas Git.

    • Escolha Solicitação pull para iniciar o pipeline quando uma solicitação pull for aberta, atualizada ou fechada no repositório de origem. Essa escolha permite que os campos especifiquem filtros para ramificações de destino e caminhos de arquivo.

  6. Em Push, em Tipo de filtro, escolha uma das opções a seguir.

    • Escolha Ramificação para especificar as ramificações no repositório de origem que o gatilho monitora para saber quando iniciar a execução de um fluxo de trabalho. Em Incluir, insira padrões para nomes de ramificações no formato glob que você deseja especificar para a configuração do gatilho a fim de iniciar o pipeline em alterações nas ramificações especificadas. Em Excluir, insira os padrões de regex para nomes de ramificações no formato glob que você deseja especificar para a configuração do gatilho ignorar e não iniciar seu pipeline em alterações nas ramificações especificadas. Consulte Trabalhar com padrões glob na sintaxe para obter mais informações.

      nota

      Se a inclusão e a exclusão tiverem o mesmo padrão de etiqueta, o padrão será excluído.

      Você pode usar padrões glob para definir os nomes das ramificações. Por exemplo, use main* para combinar todas as ramificações que começam com main. Consulte Trabalhar com padrões glob na sintaxe para obter mais informações.

      Para um gatilho de push, especifique as ramificações para as quais você está enviando, ou seja, as ramificações de destino. Para um gatilho de solicitação pull, especifique as ramificações de destino para as quais você está abrindo a solicitação pull.

    • (Opcional) Em Caminhos de arquivo, especifique caminhos de arquivo para o gatilho. Insira os nomes em Incluir e Excluir, conforme apropriado.

      Você pode usar padrões glob para definir os nomes de caminhos de arquivos. Por exemplo, use prod* para combinar todos os caminhos de arquivo que começam com prod. Consulte Trabalhar com padrões glob na sintaxe para obter mais informações.

    • Selecione Etiquetas a fim de configurar o gatilho do pipeline para começar com etiquetas Git. Em Incluir, insira padrões para nomes de etiquetas no formato glob que você deseja especificar para a configuração do gatilho a fim de iniciar o pipeline na liberação das etiquetas especificadas. Em Excluir, insira os padrões de regex para nomes de etiquetas no formato glob que você deseja especificar para a configuração do gatilho ignorar e não iniciar o pipeline na liberação das etiquetas especificadas. Se a inclusão e a exclusão tiverem o mesmo padrão de tag, o padrão será excluir o padrão de tag.

  7. Em Push, em Tipo de filtro, escolha uma das opções a seguir.

    • Escolha Ramificação para especificar as ramificações no repositório de origem que o gatilho monitora para saber quando iniciar a execução de um fluxo de trabalho. Em Incluir, insira padrões para nomes de ramificações no formato glob que você deseja especificar para a configuração do gatilho a fim de iniciar o pipeline em alterações nas ramificações especificadas. Em Excluir, insira os padrões de regex para nomes de ramificações no formato glob que você deseja especificar para a configuração do gatilho ignorar e não iniciar seu pipeline em alterações nas ramificações especificadas. Consulte Trabalhar com padrões glob na sintaxe para obter mais informações.

      nota

      Se a inclusão e a exclusão tiverem o mesmo padrão de etiqueta, o padrão será excluído.

      Você pode usar padrões glob para definir os nomes das ramificações. Por exemplo, use main* para combinar todas as ramificações que começam com main. Consulte Trabalhar com padrões glob na sintaxe para obter mais informações.

      Para um gatilho de push, especifique as ramificações para as quais você está enviando, ou seja, as ramificações de destino. Para um gatilho de solicitação pull, especifique as ramificações de destino para as quais você está abrindo a solicitação pull.

    • (Opcional) Em Caminhos de arquivo, especifique caminhos de arquivo para o gatilho. Insira os nomes em Incluir e Excluir, conforme apropriado.

      Você pode usar padrões glob para definir os nomes de caminhos de arquivos. Por exemplo, use prod* para combinar todos os caminhos de arquivo que começam com prod. Consulte Trabalhar com padrões glob na sintaxe para obter mais informações.

    • Escolha Solicitação de pull para definir a configuração de gatilho do pipeline para começar por eventos pull request especificados por você.

Adicionar filtros para tipos de evento push e pull request (CLI)

Você pode atualizar o JSON do pipeline para adicionar filtros para gatilhos.

Para usar a AWS CLI para criar ou atualizar o pipeline, use o comando create-pipeline ou update-pipeline.

O exemplo de estrutura JSON a seguir fornece uma referência para as definições de campo em create-pipeline.

Para obter uma lista das definições de campo, consulte gatilhos na referência de estrutura do Pipeline neste guia.

{ "pipeline": { "name": "MyServicePipeline", "triggers": [ { "provider": "Connection", "gitConfiguration": { "sourceActionName": "ApplicationSource", "push": [ { "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] }, "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ], "pullRequest": [ { "events": [ "CLOSED" ], "branches": { "includes": [ "feature/**", "release/**" ], "excludes": [ "mainline" ] }, "filePaths": { "includes": [ "projectA/**", "common/**/*.js" ], "excludes": [ "**/README.md", "**/LICENSE", "**/CONTRIBUTING.md" ] } } ] } } ], "stages": [ { "name": "Source", "actions": [ { "name": "ApplicationSource", "configuration": { "BranchName": "mainline", "ConnectionArn": "arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f8EXAMPLE", "FullRepositoryId": "monorepo-example", "OutputArtifactFormat": "CODE_ZIP" } } ] } ] } }

Adicionar filtros para tipos de evento push e pull request (modelos do CloudFormation)

Você pode atualizar o recurso de pipeline no CloudFormation para adicionar a filtragem de gatilho.

O trecho de modelo de exemplo a seguir fornece uma referência YAML para definições de campos de gatilhos. Para obter uma lista das definições de campo, consulte gatilhos na referência de estrutura do Pipeline neste guia.

Para obter um exemplo de modelo completo para uma configuração de origem da conexão e filtro de gatilho, consulte Pipeline com dois estágios e configuração de gatilho no Guia do usuário do CloudFormation.

pipeline: name: MyServicePipeline executionMode: PARALLEL triggers: - provider: CodeConnection gitConfiguration: sourceActionName: ApplicationSource push: - filePaths: includes: - projectA/** - common/**/*.js excludes: - '**/README.md' - '**/LICENSE' - '**/CONTRIBUTING.md' branches: includes: - feature/** - release/** excludes: - mainline - tags: includes: - release-v0 - release-v1 excludes: - release-v2 pullRequest: - events: - CLOSED branches: includes: - feature/** - release/** excludes: - mainline filePaths: includes: - projectA/** - common/**/*.js excludes: - '**/README.md' - '**/LICENSE' - '**/CONTRIBUTING.md' stages: - name: Source actions: - name: ApplicationSource configuration: BranchName: mainline ConnectionArn: arn:aws:codestar-connections:eu-central-1:111122223333:connection/fe9ff2e8-ee25-40c9-829e-65f85EXAMPLE FullRepositoryId: monorepo-example OutputArtifactFormat: CODE_ZIP