Declaração de pipeline
O nível de pipeline e metadados de um pipeline tem uma estrutura básica que inclui os seguintes parâmetros e sintaxe. O parâmetro pipeline representa a estrutura de ações e estágios a serem executados no pipeline.
Para ter mais informações, consulte o objeto PipelineDeclaration no Guia de API do CodePipeline.
O exemplo a seguir mostra o nível de pipeline e metadados da estrutura do pipeline em JSON e YAML para um pipeline do tipo V2.
name
O nome do pipeline. Quando você edita ou atualiza um pipeline, o nome do pipeline não pode ser alterado.
nota
Se você deseja renomear um pipeline existente, pode usar o comando get-pipeline da CLI para criar um arquivo JSON que contenha a estrutura do pipeline. Depois, você pode usar o comando create-pipeline da CLI para criar um pipeline com essa estrutura e dar a ele um novo nome.
roleArn
O ARN do IAM para o perfil de serviço do CodePipeline, como arn:aws:iam::80398EXAMPLE:role/CodePipeline_Service_Role.
Para usar o console e visualizar o ARN do perfil de serviço do pipeline em vez da estrutura JSON, escolha o pipeline no console e selecione Configurações. Na guia Geral, o campo ARN do perfil de serviço é exibido.
artifactStore OU artifactStores
O campo artifactStore contém o tipo e local do bucket de artefatos para um pipeline com todas as ações na mesma região da AWS. Se você adicionar ações em uma região diferente do seu pipeline, o mapeamento artifactStores será usado para listar o bucket de artefatos para cada região da AWS em que as ações são executadas. Ao criar ou editar um pipeline, é necessário ter um bucket de artefato na região do pipeline e ter um bucket de artefato por região em que planeja executar uma ação.
nota
Na estrutura do pipeline, você deve incluir artifactStore ou artifactStores no pipeline, mas não é possível usar os dois. Se você criar uma ação entre regiões em seu pipeline, use artifactStores.
O exemplo a seguir mostra a estrutura básica de um pipeline com ações entre regiões que usa o parâmetro artifactStores:
"pipeline": { "name": "YourPipelineName", "roleArn": "CodePipeline_Service_Role", "artifactStores": { "us-east-1": { "type": "S3", "location": "S3 artifact bucket name, such as amzn-s3-demo-bucket" }, "us-west-2": { "type": "S3", "location": "S3 artifact bucket name, such as amzn-s3-demo-bucket" } }, "stages": [ { ...
type
O tipo de localização do bucket de artefatos, especificado como Amazon S3.
location
O Amazon S3 gera automaticamente um bucket para você na primeira criação de um pipeline pelo console, como codepipeline-us-east-2-1234567890, ou qualquer bucket do Amazon S3 configurado para essa finalidade
stages
Esse parâmetro contém o nome de cada estágio no pipeline. Para ter mais informações sobre os parâmetros e a sintaxe no nível do estágio da estrutura do pipeline, consulte o objeto StageDeclaration no Guia de API do CodePipeline.
A estrutura do pipeline para estágios tem os seguintes requisitos:
-
Um pipeline deve ter pelo menos dois estágios.
-
O primeiro estágio de um pipeline deve ter pelo menos uma ação de origem. Só pode conter ações de origem.
-
Somente o primeiro estágio de um pipeline pode ter ações de origem.
-
Pelo menos um estágio em cada pipeline deve ter uma ação que não seja uma ação de origem.
-
Os nomes de todos os estágios de um pipeline devem ser exclusivos.
-
Os nomes dos estágios não podem ser editados no console do CodePipeline. Se você editar o nome de um estágio usando a AWS CLI e o estágio tiver uma ação com um ou mais parâmetros secretos, como um token OAuth, o valor desses parâmetros secretos não será mantido. É necessário inserir manualmente o valor dos parâmetros (que são mascarados por quatro asteriscos no JSON devolvido pela AWS CLI) e incluí-los na estrutura JSON.
Importante
Os pipelines inativos por mais de 30 dias terão a sondagem desabilitada para o pipeline. Para obter mais informações, consulte pollingDisabledAt na referência de estrutura do pipeline. Para obter as etapas a fim de migrar o pipeline da sondagem para a detecção de alterações baseada em eventos, consulte Métodos de detecção da alteração.
version
O número de versão de um pipeline é gerado e atualizado automaticamente sempre que o pipeline é atualizado.
executionMode
Você pode definir o modo de execução do pipeline para poder especificar o comportamento do pipeline para execuções consecutivas, como enfileiramento, substituição ou execução em modo paralelo. Para obter mais informações, consulte Definir ou alterar o modo de execução do pipeline.
Importante
Para pipelines em modo PARALLEL, a reversão do estágio não está disponível. Da mesma forma, condições de falha com um tipo de resultado de reversão não podem ser adicionadas a um pipeline de modo PARALLEL.
pipelineType
O tipo de pipeline especifica a estrutura e os recursos disponíveis no pipeline, como para um pipeline do tipo V2. Para obter mais informações, consulte Tipos de pipeline.
variables
As variáveis em nível de pipeline são definidas quando o pipeline é criado e resolvido no runtime do pipeline. Para obter mais informações, consulte Referência de variáveis. Para assistir a um tutorial com uma variável no nível do pipeline que é passada no momento da execução do pipeline, consulte. Tutorial: Usar variáveis no nível do pipeline
triggers
Os gatilhos permitem configurar o pipeline para iniciar em um determinado tipo de evento ou tipo de evento filtrado, como quando uma alteração em uma ramificação específica ou solicitação pull é detectada. Os gatilhos são configuráveis para ações de origem com conexões que usam a ação CodeStarSourceConnection no CodePipeline, como GitHub, Bitbucket e GitLab. Para ter mais informações sobre ações de origem que usam conexões, consulte Adicionar provedores de origem de terceiros usando CodeConnections.
Para obter informações e exemplos mais detalhados, consulte Automatizar a inicialização de pipelines usando gatilhos e filtragem.
Para filtragem, padrões de expressão regular no formato glob são compatíveis conforme detalhado em Trabalhar com padrões glob na sintaxe.
nota
As ações de origem do CodeCommit e do S3 exigem um recurso de detecção de alterações configurado (uma regra do EventBridge) ou o uso da opção de sondagem de alterações de origem no repositório. Para pipelines com uma ação de origem do Bitbucket, do GitHub ou do GitHub Enterprise Server, você não precisa configurar um webhook ou usar a pesquisa como valor padrão. A ação do Connections gerencia a detecção de alterações para você.
Importante
Os pipelines inativos por mais de 30 dias terão a sondagem desabilitada para o pipeline. Para obter mais informações, consulte pollingDisabledAt na referência de estrutura do pipeline. Para obter as etapas a fim de migrar o pipeline da sondagem para a detecção de alterações baseada em eventos, consulte Métodos de detecção da alteração.
gitConfigurationCampos de
A configuração do Git para o acionador, inclusive os tipos de eventos e todos os parâmetros para filtragem por ramificações, caminhos de arquivo, tags ou eventos pull request.
Os campos na estrutura JSON são definidos da seguinte forma:
-
sourceActionName: o nome da ação de origem do pipeline com a configuração do Git. -
push: envie eventos com filtragem. Esses eventos usam o operador OU entre diferentes filtros push e o operador E dentro dos filtros.-
branches: as ramificações a serem filtradas. As ramificações usam o operador E entre inclusões e exclusões.-
includes: padrões para filtrar as ramificações que serão incluídas. Inclui o uso de um operador OU. -
excludes: padrões para filtrar as ramificações que serão excluídas. Exclui o uso de um operador OU.
-
-
filePaths: os nomes dos caminhos do arquivo a serem filtrados.-
includes: padrões para filtrar os caminhos de arquivo que serão incluídos. Inclui o uso de um operador OU. -
excludes: padrões para filtrar os caminhos de arquivo que serão excluídos. Exclui o uso de um operador OU.
-
-
tags: os nomes das etiquetas a serem filtradas.-
includes: padrões para filtrar as etiquetas que serão incluídas. Inclui o uso de um operador OU. -
excludes: padrões para filtrar as etiquetas que serão excluídas. Exclui o uso de um operador OU.
-
-
-
pullRequest: eventos de solicitação pull com filtragem de eventos de solicitação pull e filtros de solicitação pull.-
events: filtra eventos de solicitação pull abertos, atualizados ou fechados, conforme especificado. -
branches: As ramificações a serem filtradas. As ramificações usam o operador E entre inclusões e exclusões.-
includes: padrões para filtrar as ramificações que serão incluídas. Inclui o uso de um operador OU. -
excludes: padrões para filtrar as ramificações que serão excluídas. Exclui o uso de um operador OU.
-
-
filePaths: os nomes dos caminhos do arquivo a serem filtrados.-
includes: padrões para filtrar os caminhos de arquivo que serão incluídos. Inclui o uso de um operador OU. -
excludes: padrões para filtrar os caminhos de arquivo que serão excluídos. Exclui o uso de um operador OU.
-
-
Este é um exemplo da configuração do acionador para tipos de evento push e pull request.
"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" ] } } ] } } ],
Campos push do tipo de evento para inclusão e exclusão
O comportamento de inclusão e exclusão dos níveis dos campos de configuração do Git para tipos de evento push é mostrado na seguinte lista:
push(OR operation is used between push and pullRequest or multiples)filePaths(AND operation is used between filePaths, branches, and tags)includes(AND operation is used between includes and excludes)**/FILE.md, **/FILE2(OR operation is used between file path names)excludes(AND operation is used between includes and excludes)**/FILE.md, **/FILE2(OR operation is used between file path names)branches(AND operation is used between filePaths, branches, and tags)includes(AND operation is used between includes and excludes)BRANCH/**", "BRANCH2/**(OR operation is used between branch names)excludes(AND operation is used between includes and excludes)BRANCH/**", "BRANCH2/**(OR operation is used between branch names)tags(AND operation is used between filePaths, branches, and tags)includes(AND operation is used between includes and excludes)TAG/**", "TAG2/**(OR operation is used between tag names)excludes(AND operation is used between includes and excludes)TAG/**", "TAG2/**(OR operation is used between tag names)
Campos pull request do tipo de evento para inclusão e exclusão
O comportamento de inclusão e exclusão dos níveis dos campos de configuração do Git para tipos de evento pull request é mostrado na seguinte lista:
pullRequest(OR operation is used between push and pullRequest or multiples)events(AND operation is used between events, filePaths, and branches). Includes/excludes are N/A for pull request events. filePaths(AND operation is used between events, filePaths, and branches)includes(AND operation is used between includes and excludes)**/FILE.md, **/FILE2(OR operation is used between file path names)excludes(AND operation is used between includes and excludes)**/FILE.md, **/FILE2(OR operation is used between file path names)branches(AND operation is used between events, filePaths, and branches)includes(AND operation is used between includes and excludes)BRANCH/**", "BRANCH2/**(OR operation is used between branch names)excludes(AND operation is used between includes and excludes)BRANCH/**", "BRANCH2/**(OR operation is used between branch names)
metadata
Os campos de metadados de pipeline são diferentes da estrutura do pipeline e não podem ser editados. Quando você atualiza um pipeline, a data no campo de metadados updated é alterada automaticamente.
pipelineArn
O nome do recurso da Amazon (ARN) do pipeline.
Para usar o console e visualizar o ARN do pipeline em vez da estrutura JSON, selecione o pipeline no console e selecione Configurações. Na guia Geral, o campo ARN do pipeline é exibido.
created
A data e a hora em que o pipeline foi criado.
updated
A data e a hora em que o pipeline foi atualizado pela última vez.
pollingDisabledAt
A data e a hora quando, para um pipeline configurado para sondagem para detecção de alterações, a sondagem foi desativada.
Os pipelines inativos por mais de 30 dias terão a sondagem desabilitada para o pipeline.
-
Os pipelines inativos terão a pesquisa desabilitada após 30 dias sem execuções.
-
Pipelines que usarem EventBridge, CodeStar Connections ou webhooks não serão afetados.
-
Os pipelines ativos não serão afetados.
Para obter mais informações, consulte o parâmetro pollingDisabledAt no objeto PipelineMetadata no Guia de API do CodePipeline. Para obter as etapas a fim de migrar o pipeline da sondagem para a detecção de alterações baseada em eventos, consulte Métodos de detecção da alteração.