Criar um pipeline, estágios e ações - 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á.

Criar um pipeline, estágios e ações

Você pode usar o AWS CodePipeline console ou o AWS CLI para criar um pipeline. Os pipelines devem ter pelo menos dois estágios. O primeiro estágio de um pipeline deve ser um estágio de origem. O pipeline deve ter pelo menos um outro estágio que seja um estágio de compilação ou implantação.

Importante

Como parte da criação de um pipeline, um bucket de artefatos S3 fornecido pelo cliente será usado CodePipeline por for artefacts. (Este bucket não é o mesmo utilizado para uma ação de origem do S3.) Se o bucket de artefatos do S3 estiver em uma conta diferente da conta do seu pipeline, certifique-se de que o bucket de artefatos do S3 Contas da AWS seja de propriedade de quem é seguro e confiável.

Você pode adicionar ações ao seu funil que estejam em um lugar Região da AWS diferente do seu funil. Uma ação entre regiões é aquela em que an AWS service (Serviço da AWS) é o provedor de uma ação e o tipo de ação ou tipo de provedor está em uma AWS região diferente do seu pipeline. Para obter mais informações, consulte Adicionar uma ação entre regiões no CodePipeline.

Você também pode criar pipelines que criem e implantem aplicações baseadas em contêiner usando o Amazon ECS como provedor de implantação. Antes de criar um pipeline que implante aplicações baseadas em contêiner com o Amazon ECS, você deverá criar um arquivo de definições de imagem, conforme descrito em Referência de arquivo de definições de imagem.

CodePipeline usa métodos de detecção de alterações para iniciar seu pipeline quando uma alteração no código-fonte é enviada. Esses métodos de detecção são baseados em tipo de origem:

  • CodePipeline usa o Amazon CloudWatch Events para detectar alterações em seu repositório e filial de CodeCommit origem ou em seu bucket de origem do S3.

nota

Quando o console é usado para criar ou editar um pipeline, os recursos de detecção de alterações são criados para você. Se você usar a AWS CLI para criar o pipeline, deverá criar você mesmo os recursos adicionais. Para obter mais informações, consulte CodeCommit ações de origem e EventBridge.

Criar um pipeline personalizado (console)

Para criar um pipeline personalizado no console, você precisa fornecer ao arquivo de origem a localização e informações sobre os provedores que usará para suas ações.

Ao usar o console para criar um pipeline, você deve incluir um estágio de origem e o seguinte item (ou os dois itens):

  • Um estágio de compilação.

  • Um estágio de implantação.

Quando você usa o assistente de pipeline, CodePipeline cria os nomes dos estágios (origem, construção, preparação). Esses nomes não podem ser alterados. Você pode usar nomes mais específicos (por exemplo, BuildToGamma ou DeployToProd) para os estágios adicionados posteriormente.

Etapa 1: criar e nomear seu pipeline
  1. Faça login no AWS Management Console e abra o CodePipeline console em http://console.aws.amazon. com/codesuite/codepipeline/home.

  2. Na página Bem-vindo, escolha Criar pipeline.

    Se for a primeira vez que você usa CodePipeline, escolha Começar.

  3. Na página Etapa 1: Escolher opção de criação, em Opções de criação, selecione a opção Criar pipeline personalizado. Escolha Próximo.

  4. Em Etapa 2: escolher a página de configurações do pipeline, em Nome do pipeline, insira o nome do seu pipeline.

    Em uma única AWS conta, cada funil que você cria em uma AWS região deve ter um nome exclusivo. Os nomes podem ser reutilizados para pipelines em regiões diferentes.

    nota

    Depois de criar um pipeline, não é possível alterar o nome dele. Para obter informações sobre outras limitações, consulte Cotas em AWS CodePipeline.

  5. Em Tipo de pipeline, escolha uma das seguintes opções: Os tipos de pipeline diferem em características e preços. Para obter mais informações, consulte Tipos de pipeline.

    • Os pipelines do tipo V1 têm uma estrutura JSON que contém parâmetros padrão no nível do pipeline, do estágio e da ação.

    • Os pipelines do tipo V2 têm a mesma estrutura do tipo V1, além do suporte adicional a parâmetros, como gatilhos em tags Git e variáveis no nível do pipeline.

  6. Em Perfil de serviço, faça um dos seguintes procedimentos:

    • Escolha Nova função de serviço para permitir CodePipeline a criação de uma nova função de serviço no IAM.

    • Escolha Existing service role (Função de serviço existente) para usar uma função de serviço já criada no IAM. Na Role ARN (Função ARN), escolha o ARN da função de serviço na lista.

    nota

    Dependendo de quando sua função de serviço foi criada, talvez seja necessário atualizar suas permissões para oferecer suporte adicional Serviços da AWS. Para ter mais informações, consulte Adicionar permissões à função de serviço do CodePipeline.

    Para mais informações sobre função de serviço e sua declaração de política, consulte Gerenciar a função CodePipeline de serviço.

  7. (Opcional) Em Variáveis, escolha Adicionar variável para adicionar variáveis no nível do pipeline.

    Para obter mais informações sobre as variáveis no nível do pipeline, 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

    nota

    Embora seja opcional adicionar variáveis no nível do pipeline, para um pipeline especificado com variáveis no nível do pipeline em que nenhum valor é fornecido, a execução do pipeline falhará.

  8. (Opcional) Expanda Advanced settings (Configurações avançadas).

  9. Em Artifact store (Armazenamento de artefatos), siga um dos seguintes procedimentos:

    1. Escolha o local padrão para usar o armazenamento de artefatos padrão, como o bucket de artefatos S3 designado como padrão, para seu pipeline no que Região da AWS você selecionou para seu pipeline.

    2. Selecione Custom location (Local personalizado) se você já tiver um armazenamento de artefato, como um bucket de artefatos do S3 na mesma região que o pipeline. Em Bucket, escolha o nome do bucket.

    nota

    Este não é o bucket de origem para seu código-fonte. Este é o armazenamento de artefatos para o pipeline. Um armazenamento de artefatos separado, como um bucket do S3, é necessário para cada pipeline. Ao criar ou editar um pipeline, você deve ter um bucket de artefatos na região do pipeline e um bucket de artefatos por AWS região em que você está executando uma ação.

    Para ter mais informações, consulte Artefatos de entrada e saída e CodePipeline referência de estrutura de tubulação.

  10. (Opcional) Em Encryption key (Chave de criptografia), faça um dos seguintes procedimentos:

    1. Para usar o CodePipeline padrão AWS KMS key para criptografar os dados no armazenamento de artefatos do pipeline (bucket do S3), escolha Chave gerenciada padrão AWS .

    2. Para usar a chave gerenciada pelo cliente para criptografar os dados no armazenamento de artefatos do pipeline (bucket do S3), escolha Chave gerenciada pelo cliente. Escolha o ID da chave, o ARN da chave ou o ARN do alias.

  11. Escolha Próximo.

Etapa 2: criar um estágio de origem
  1. Na página Etapa 3: Adicionar etapa de origem, em Provedor de origem, escolha o tipo de repositório em que o seu código-fonte está armazenado e especifique suas opções necessárias. Os campos adicionais são exibidos dependendo do provedor de origem selecionado da seguinte forma.

    • Para Bitbucket Cloud GitHub (via GitHub aplicativo), GitHub Enterprise Server, GitLab .com ou GitLab autogerenciado:

      1. Em Conexão, escolha uma conexão existente ou crie uma nova. Para criar ou gerenciar uma conexão para sua ação GitHub de origem, consulteGitHub conexões.

      2. Escolha o repositório que deseja utilizar como local de origem do pipeline.

        Selecione a opção para adicionar um gatilho ou filtrar os tipos de gatilho para iniciar o pipeline. Para ter mais informações sobre como trabalhar com gatilhos, consulte Adicione gatilho com tipos de eventos de push ou pull request de código. Para obter mais informações sobre a filtragem de padrões glob, consulte Trabalhar com padrões glob na sintaxe.

      3. Em Formato de artefato de saída, escolha o formato dos seus artefatos.

        • Para armazenar artefatos de saída da GitHub ação usando o método padrão, escolha CodePipelinedefault. A ação acessa os arquivos do GitHub repositório e armazena os artefatos em um arquivo ZIP no repositório de artefatos do pipeline.

        • Para armazenar um arquivo JSON que contém uma referência de URL ao repositório para que as ações downstream possam executar comandos Git diretamente, escolha Full clone (Clone completo). Esta opção só pode ser usada por ações downstream do CodeBuild .

          Se você escolher essa opção, precisará atualizar as permissões para sua função de serviço CodeBuild do projeto, conforme mostrado emSolução de problemas CodePipeline. Para assistir a um tutorial que mostre como usar a opção Clone completo, consulte Tutorial: use o clone completo com uma fonte de GitHub pipeline.

    • Para Amazon S3:

      1. Em Amazon S3 location (Localização do Amazon S3), forneça o nome do bucket do S3 e o caminho ao objeto em um bucket com versionamento habilitado. O formato do nome do bucket e o caminho são semelhantes a:

        s3://bucketName/folderName/objectName
        nota

        Quando o Amazon S3 é o provedor de origem do pipeline, é possível compactar o(s) arquivo(s) de origem em um único .zip e fazer upload do .zip para o bucket de origem. Também é possível fazer upload de um único arquivo descompactado; no entanto, ocorrerão falha nas ações downstream que aguardam um arquivo .zip.

      2. Depois de escolher o bucket de origem do S3, CodePipeline cria a regra Amazon CloudWatch Events e a AWS CloudTrail trilha a ser criada para esse pipeline. Aceite os padrões em Change detection options (Alterar opções de detecção). Isso permite CodePipeline usar o Amazon CloudWatch Events e AWS CloudTrail detectar alterações em seu novo pipeline. Escolha Próximo.

    • Para AWS CodeCommit:

      • Em Nome do repositório, escolha o nome do CodeCommit repositório que você deseja usar como local de origem para seu pipeline. Em Branch name, na lista suspensa, escolha a ramificação que você deseja usar.

      • Em Formato do artefato de saída, escolha o formato dos seus artefatos.

        • Para armazenar artefatos de saída da CodeCommit ação usando o método padrão, escolha CodePipelinedefault. A ação acessa os arquivos do CodeCommit repositório e armazena os artefatos em um arquivo ZIP no repositório de artefatos do pipeline.

        • Para armazenar um arquivo JSON que contém uma referência de URL ao repositório para que as ações downstream possam executar comandos Git diretamente, escolha Full clone (Clone completo). Esta opção só pode ser usada por ações downstream do CodeBuild .

          Se você escolher essa opção, precisará adicionar a codecommit:GitPull permissão à sua função de CodeBuild serviço, conforme mostrado emAdicionar CodeBuild GitClone permissões para ações CodeCommit de origem. Você também precisará adicionar codecommit:GetRepository as permissões à sua função CodePipeline de serviço, conforme mostrado emAdicionar permissões à função de serviço do CodePipeline. Para um tutorial que mostra como usar a opção Clone completo, consulte Tutorial: use o clone completo com uma fonte de GitHub pipeline.

      • Depois de escolher o nome do CodeCommit repositório e a ramificação, uma mensagem é exibida nas opções de detecção de alterações mostrando a regra do Amazon CloudWatch Events a ser criada para esse pipeline. Aceite os padrões em Change detection options (Alterar opções de detecção). Isso permite CodePipeline usar o Amazon CloudWatch Events para detectar alterações em seu novo pipeline.

    • Para Amazon ECR:

      • Em Nome do repositório, selecione o nome do repositório do Amazon ECR.

      • Em Image tag (Tag da imagem), especifique o nome da imagem e a versão, caso seja diferente da ÚLTIMA.

      • Em Artefatos de saída, escolha o artefato de saída padrão, como MyApp, que contém o nome da imagem e as informações de URI do repositório que você deseja usar na próxima etapa.

        Para obter um tutorial sobre a criação de um pipeline para o Amazon ECS com implantações CodeDeploy azul-esverdeadas que inclua um estágio de origem do Amazon ECR, consulte. Tutorial: Crie um pipeline com uma fonte e ECS-to-CodeDeploy implantação do Amazon ECR

      Quando você inclui um estágio de origem do Amazon ECR no pipeline, a ação de origem gera um arquivo imageDetail.json como artefato de saída quando você confirma uma alteração. Para mais informações sobre o arquivo imageDetail.json, consulte Arquivo imageDetail.json para ações de implantação azul/verde do Amazon ECS.

    nota

    O objeto e o tipo de arquivo devem ser compatíveis com o sistema de implantação que você planeja usar (por exemplo, Elastic Beanstalk ou). CodeDeploy Os tipos de arquivos compatíveis podem incluir .zip, .tar e .tgz. Para obter mais informações sobre os tipos de contêiner compatíveis com o Elastic Beanstalk, consulte Personalizar e configurar ambientes do Elastic Beanstalk e Plataformas compatíveis. Para obter mais informações sobre como implantar revisões com CodeDeploy, consulte Carregando a revisão do seu aplicativo e preparando uma revisão.

  2. Para configurar a repetição automática para um estágio, escolha Habilitar nova tentativa automática em caso de falha na etapa. Para ter mais informações sobre a repetição automática, consulte Configurar a repetição automática em caso de falha para um estágio.

  3. Escolha Próximo.

Etapa 4: criar um estágio de compilação

Essa etapa é opcional se você planeja criar um estágio de implantação.

  1. Na página Etapa 4: Adicionar estágio de compilação, siga um destes procedimentos e escolha Avançar:

    • Escolha Ignorar estágio de construção se você planeja criar um estágio de teste ou implantação.

    • Para escolher a ação Commands para o estágio de compilação, selecione Comandos.

      nota

      A execução da ação Commands acarretará cobranças separadas em AWS CodeBuild

      Em Comandos, insira os comandos do shell para a ação. Para ter mais informações sobre a ação Commands, consulte Referência da ação Commands.

    • Para escolher outros provedores de compilação CodeBuild, como, escolha Outros provedores. Em Build provider (Provedor de compilação), selecione um provedor de ações personalizado dos serviços de compilação e forneça os detalhes de configuração para esse provedor. Para um exemplo sobre como incluir a Jenkins como um provedor de construção, consulte Tutorial: Criar um pipeline de quatro estágios.

    • Em Build provider (Provedor de compilação), escolha AWS CodeBuild.

      Em Região, escolha a AWS região em que o recurso existe. O campo Região designa onde os AWS recursos são criados para esse tipo de ação e tipo de provedor. Esse campo é exibido apenas para as ações em que o provedor de ação é um AWS service (Serviço da AWS). O campo Região usa como padrão a mesma AWS Região do seu funil.

      Em Project name (Nome do projeto), escolha o projeto de compilação. Se você já criou um projeto de compilação em CodeBuild, escolha-o. Ou você pode criar um projeto de compilação CodeBuild e depois retornar a essa tarefa. Siga as instruções em Criar um pipeline que usa o CodeBuild no Guia do usuário do CodeBuild.

      Em Variáveis de ambiente, para adicionar variáveis de CodeBuild ambiente à sua ação de criação, escolha Adicionar variável de ambiente. Cada variável é composta por três entradas:

      • Em Name (Nome), insira o nome ou chave da variável de ambiente.

      • Em Value (Valor), insira o valor da variável de ambiente. Se você escolher Parâmetro para o tipo de variável, verifique se esse valor é o nome de um parâmetro que você já armazenou no AWS Systems Manager Parameter Store.

        nota

        Nós desencorajamos fortemente o uso de variáveis de ambiente para armazenar valores confidenciais, especialmente AWS credenciais. Quando você usa o CodeBuild console ou a AWS CLI, as variáveis de ambiente são exibidas em texto sem formatação. Para valores confidenciais, recomendamos que você use o tipo de Parameter (Parâmetro).

      • (Opcional) Em Type (Tipo), insira o tipo de variável de ambiente. Os valores válidos são Plaintext (Texto sem formatação) ou Parameter (Parâmetro). O padrão é Plaintext (Texto sem formatação).

      (Opcional) Em Tipo de compilação, escolha uma das alternativas a seguir:

      • Para executar cada compilação em uma única execução de ação de compilação, escolha Compilação única.

      • Para executar várias compilações na mesma execução de ação de compilação, escolha Compilação em lote.

      (Opcional) Se você optar por executar compilações em lote, poderá escolher Combinar todos os artefatos do lote em um único local para colocar todos os artefatos de compilação em um único artefato de saída.

  2. Para configurar a repetição automática para um estágio, escolha Habilitar nova tentativa automática em caso de falha na etapa. Para ter mais informações sobre a repetição automática, consulte Configurar a repetição automática em caso de falha para um estágio.

  3. Escolha Próximo.

Etapa 5: criar um estágio de teste

Essa etapa é opcional se você planeja criar um estágio de construção ou implantação.

  1. Na página Etapa 5: Adicionar estágio de teste, siga um destes procedimentos e escolha Avançar:

    • Escolha Ignorar estágio de teste se você planeja criar um estágio de construção ou implantação.

    • Em Provedor de teste, escolha o provedor de ação de teste e preencha os campos apropriados.

  2. Escolha Próximo.

Etapa 6: criar um estágio de implantação

Essa etapa é opcional se você já tiver criado um estágio de compilação.

  1. Na página Etapa 6: Adicionar estágio de implantação, siga um destes procedimentos e escolha Avançar:

    • Escolha Ignorar estágio de implantação se você criou um estágio de construção ou teste nas etapas anteriores.

      nota

      Essa opção não aparece se você já tiver pulado a fase de construção ou teste.

    • Em Deploy provider (Provedor de implantação), selecione uma ação personalizada que você criou para um provedor de implantação.

      Em Região, somente para ações entre regiões, escolha a AWS região em que o recurso foi criado. O campo Região designa o local em que os recursos da AWS serão criados para esse tipo de ação e de provedor. Esse campo exibe apenas as ações em que o provedor de ação é um AWS service (Serviço da AWS). O campo Região usa como padrão a mesma AWS Região do seu funil.

    • Em Deploy provider (Provedor de implantação), estão disponível campos para provedores padrão da seguinte forma:

      • CodeDeploy

        Em Nome do aplicativo, insira ou escolha o nome de um CodeDeploy aplicativo existente. Em Grupo de implantação, insira o nome de um grupo de implantação do aplicativo. Escolha Próximo. Você também pode criar um aplicativo, grupo de implantação ou os dois no console do CodeDeploy.

      • AWS Elastic Beanstalk

        Em Nome da aplicação, insira ou escolha o nome de uma aplicação existente do Elastic Beanstalk. Em Nome do ambiente, insira um ambiente para o aplicativo. Escolha Próximo. Você também pode criar uma aplicação, um ambiente ou os dois no console do Elastic Beanstalk.

      • AWS OpsWorks Stacks

        Em Pilha, insira ou escolha o nome da pilha que deseja usar. Em Camada, escolha a camada a que suas instâncias de destino pertencem. Em App, selecione o aplicativo que deseja atualizar e implantar. Caso precise criar um aplicativo, selecione Create a new one in (Criar outro no AWS OpsWorks).

        Para obter informações sobre como adicionar um aplicativo a uma pilha e uma camada AWS OpsWorks, consulte Adicionar aplicativos no Guia do AWS OpsWorks usuário.

        Para obter um end-to-end exemplo de como usar um pipeline simples CodePipeline como fonte para o código que você executa em AWS OpsWorks camadas, consulte Usando CodePipeline com AWS OpsWorks Stacks.

      • AWS CloudFormation

        Execute um destes procedimentos:

        • No Modo de ação, escolha Criar ou atualizar uma pilha, insira o nome da pilha e o nome do arquivo de modelo e, em seguida, escolha o nome da função AWS CloudFormation a ser assumida. Se desejar, digite o nome de um arquivo de configuração e escolha uma opção de capacidade do IAM.

        • No Modo de ação, escolha Criar ou substituir um conjunto de alterações, insira o nome da pilha e o nome do conjunto de alterações e, em seguida, escolha o nome da função AWS CloudFormation a ser assumida. Se desejar, digite o nome de um arquivo de configuração e escolha uma opção de capacidade do IAM.

        Para obter informações sobre a integração de AWS CloudFormation recursos em um pipeline em CodePipeline, consulte Entrega contínua CodePipeline no Guia do AWS CloudFormation usuário.

      • Amazon ECS

        Em Nome do cluster, insira ou escolha o nome de um cluster existente do Amazon ECS.l Em Service name, insira ou escolha o nome do serviço que está executando o cluster. Você também pode criar um novo cluster e serviço. Em Image filename, insira o nome do arquivo de definições de imagem que descreve o contêiner e a imagem do serviço.

        nota

        A ação de implantação do Amazon ECS requer um arquivo imagedefinitions.json como entrada para a ação de implantação. O nome de arquivo padrão para o arquivo é imagedefinitions.json. Se você optar por usar um nome de arquivo diferente, você deve fornecê-lo ao criar o estágio de implantação do pipeline. Para obter mais informações, consulte Arquivo imagedefinitions.json para ações de implantação padrão do Amazon ECS.

        Escolha Próximo.

        nota

        Certifique-se de que o cluster do Amazon ECS esteja configurado com duas ou mais instâncias. Os clusters do Amazon ECS devem conter pelo menos duas instâncias para que uma seja mantida como primária e a outra seja usada para acomodar novas implantações.

        Para obter um tutorial sobre implantação de aplicativos baseados em contêiner com o pipeline, consulte Tutorial: implantação contínua com o CodePipeline.

      • Amazon ECS (Azul/Verde)

        Insira o CodeDeploy aplicativo e o grupo de implantação, a definição da tarefa do Amazon ECS e as informações AppSpec do arquivo e, em seguida, escolha Avançar.

        nota

        A ação Amazon ECS (Blue/Green) (Amazon ECS (azul/verde)) requer um arquivo imageDetail.json como artefato de entrada para a ação de implantação. Como a ação de origem do Amazon ECR cria esse arquivo, os pipelines com uma ação de origem do Amazon ECR não precisam fornecer um arquivo imageDetail.json. Para obter mais informações, consulte Arquivo imageDetail.json para ações de implantação azul/verde do Amazon ECS.

        Para obter um tutorial sobre a criação de um pipeline para implantações azul-esverdeadas em um cluster do Amazon ECS com, consulte. CodeDeploy Tutorial: Crie um pipeline com uma fonte e ECS-to-CodeDeploy implantação do Amazon ECR

      • AWS Service Catalog

        Escolha Enter deployment configuration (Inserir configuração de implantação) se você quiser usar campos no console para especificar sua configuração ou escolha Configuration file (Arquivo de configuração) se tiver um arquivo de configuração separado. Insira as informações do produto e da configuração e escolha Next (Próximo).

        Para obter um tutorial sobre a implantação de alterações de produtos no Service Catalog com seu pipeline, consulte Tutorial: Criar um pipeline que realiza a implantação no Service Catalog.

      • Alexa Skills Kit

        No Alexa Skill ID (ID da skill da Alexa), insira o ID de skill da sua skill da Alexa. Em Client ID (ID do cliente) e Client secret (Segredo do cliente), insira as credenciais geradas usando um perfil de segurança de Login with Amazon (LWA). Em Refresh token (Token de atualização), insira o token de atualização que você gerou usando o comando da CLI do ASK para recuperar um token de atualização. Escolha Próximo.

        Para obter um tutorial sobre como implantar as skills da Alexa com seu pipeline e gerar as credenciais do LWA, consulte Tutorial: Criar um pipeline que implanta uma skill do Amazon Alexa.

      • Amazon S3

        Em Bucket, insira o nome do bucket do S3 que você deseja usar. Escolha Extract file before deploy (Extrair arquivo antes de implantar) se o artefato de entrada para o estágio de implantação for um arquivo ZIP. Se Extract file before deploy (Extrair arquivo antes de implantar) for selecionado, você pode, opcionalmente, inserir um valor para o Deployment path (Caminho de implantação) no qual seu arquivo ZIP será descompactado. Se não estiver selecionado, você deve inserir um valor na S3 object key (chave do objeto do S3).

        nota

        A maioria dos artefatos de saída do estágio de origem e de compilação é compactada. Todos os provedores de origem de pipeline, exceto o Amazon S3, compactam os arquivos de origem antes de fornecê-los como o artefato de entrada da próxima ação.

        (Opcional) Em ACL pré-configurada, insira a ACL pré-configurada a ser aplicada ao objeto implantado no Amazon S3.

        nota

        A aplicação de uma ACL pré-configurada substitui todas as ACLs existentes aplicadas ao objeto.

        (Opcional) Em Cache control (Controle de cache), especifique os parâmetros de controle de cache para solicitações de download de objetos do bucket. Para obter uma lista de valores válidos, consulte o campo de cabeçalho Cache-Control para operações HTTP. Para inserir vários valores em Cache control (Controle de cache), use uma vírgula entre cada valor. É possível adicionar um espaço após cada vírgula (opcional), conforme mostrado neste exemplo.

        Imagem exibindo o campo de controle de Cache no console com a seguinte entrada: public, max-age=0, no-transform

        A entrada de exemplo anterior é exibida na CLI da seguinte forma:

        "CacheControl": "public, max-age=0, no-transform"

        Escolha Próximo.

        Para obter um tutorial sobre a criação de um pipeline com um provedor de ação de implantação do Amazon S3, consulte Tutorial: Criar um pipeline que usa o Amazon S3 como um provedor de implantação.

  2. Para configurar a repetição automática para um estágio, escolha Habilitar nova tentativa automática em caso de falha na etapa. Para ter mais informações sobre a repetição automática, consulte Configurar a repetição automática em caso de falha para um estágio.

  3. Para configurar o estágio para reversão automática, escolha Configurar reversão automática em caso de falha do estágio. Para ter mais informações sobre a reversão automática, consulte Configurar um estágio para reversão automática.

  4. Escolha Próxima etapa.

Etapa 7: revisar o pipeline
  • Na página Etapa 7: Revisão, revise a configuração do pipeline e escolha Criar pipeline para criar o pipeline ou Anterior para voltar e editar suas escolhas. Para sair do assistente sem criar um pipeline, selecione Cancelar.

Agora que criou o pipeline, você pode vê-lo no console. O pipeline começa a ser executado depois de ser criado. Para obter mais informações, consulte Veja os pipelines e os detalhes em CodePipeline. Para obter mais informações sobre como fazer alterações em seu pipeline, acesse Edite um funil em CodePipeline.

Criar um pipeline (CLI)

Para usar o AWS CLI para criar um pipeline, você cria um arquivo JSON para definir a estrutura do pipeline e, em seguida, executa o create-pipeline comando com o --cli-input-json parâmetro.

Importante

Você não pode usar o AWS CLI para criar um pipeline que inclua ações de parceiros. Em vez disso, você deve usar o CodePipeline console.

Para obter mais informações sobre a estrutura do pipeline, consulte CodePipeline referência de estrutura de tubulação e create-pipeline na Referência da CodePipeline API.

Para criar um arquivo JSON, use o arquivo JSON do pipeline de exemplo, edite-o e, em seguida, chame esse arquivo quando executar o comando create-pipeline.

Pré-requisitos:

Você precisa do ARN da função de serviço para CodePipeline a qual você criou. Começando com CodePipeline Você usa a função CodePipeline de serviço ARN no arquivo JSON do pipeline ao executar o comando. create-pipeline Para obter mais informações sobre como criar um perfil de serviço, consulte Criar o perfil de serviço do CodePipeline. Ao contrário do console, executar o create-pipeline comando no AWS CLI não tem a opção de criar a função CodePipeline de serviço para você. A função de serviço já deve existir.

É necessário o nome de um bucket do S3 para armazenar artefatos do pipeline. Esse bucket deve estar na mesma região que o pipeline. Use o nome do bucket no arquivo JSON do pipeline ao executar o comando create-pipeline. Ao contrário do console, a execução do create-pipeline comando no AWS CLI não cria um bucket S3 para armazenar artefatos. O bucket já deve existir.

nota

Você também pode usar o comando get-pipeline para obter uma cópia da estrutura JSON do pipeline e modificar a estrutura em um editor de texto plano.

Tópicos
    Para criar o arquivo JSON
    1. Em um terminal (Linux, macOS ou Unix) ou prompt de comando (Windows), crie um novo arquivo de texto em um diretório local.

    2. (Opcional) Você pode adicionar uma ou mais variáveis no nível do pipeline. Você pode referenciar esse valor na configuração de CodePipeline ações. Você pode adicionar os nomes e valores das variáveis ao criar o pipeline. Além disso, você pode optar por atribuir valores ao iniciar o pipeline no console.

      nota

      Embora seja opcional adicionar variáveis no nível do pipeline, para um pipeline especificado com variáveis no nível do pipeline em que nenhum valor é fornecido, a execução do pipeline falhará.

      Uma variável no nível do pipeline é resolvida no tempo de execução do pipeline. Todas as variáveis são imutáveis, o que significa que elas não podem ser atualizadas após a atribuição de um valor. As variáveis no nível do pipeline com valores resolvidos serão exibidas no histórico de cada execução.

      Forneça variáveis no nível do pipeline usando o atributo variables na estrutura do pipeline. No exemplo a seguir, o valor da variável Variable1 é Value1.

      "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ]

      Adicione essa estrutura ao arquivo JSON do pipeline ou ao arquivo JSON de exemplo na etapa a seguir. Para obter mais informações sobre variáveis, incluindo informações de namespace, consulte Referência de variáveis.

    3. Abra o arquivo em um editor de texto plano e edite os valores para refletir a estrutura que deseja criar. No mínimo, você deve alterar o nome do pipeline. Você também deve considerar se deseja alterar:

      • O bucket do S3 onde os artefatos para este pipeline são armazenados.

      • O local de origem para o código.

      • O provedor de implantação.

      • Como você deseja que o código seja implantado.

      • As tags para o pipeline.

      O seguinte modelo de estrutura de pipeline de dois estágios destaca os valores que você deve considerar alterar para o seu pipeline. O pipeline provavelmente contém mais de dois estágios:

      { "pipeline": { "roleArn": "arn:aws:iam::80398EXAMPLE::role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "amzn-s3-demo-source-bucket", "S3ObjectKey": "ExampleCodePipelineSampleBundle.zip", "PollForSourceChanges": "false" }, "runOrder": 1 } ] }, { "name": "Staging", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-CodeDeploy-Application", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-2-250656481468" }, "name": "MyFirstPipeline", "version": 1, "variables": [ { "name": "Timeout", "defaultValue": "1000", "description": "description" } ] }, "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "v1" ], "excludes": [ "v2" ] } } ] } } ] "metadata": { "pipelineArn": "arn:aws:codepipeline:us-east-2:80398EXAMPLE:MyFirstPipeline", "updated": 1501626591.112, "created": 1501626591.112 }, "tags": [{ "key": "Project", "value": "ProjectA" }] }

      Este exemplo adiciona tags ao pipeline por meio da inclusão da chave de tag Project e do valor ProjectA no pipeline. Para obter mais informações sobre a marcação de recursos em CodePipeline, consulteMarcando atributos .

      Verifique se o parâmetro PollForSourceChanges está definido como mostrado a seguir no arquivo JSON:

      "PollForSourceChanges": "false",

      CodePipeline usa o Amazon CloudWatch Events para detectar alterações em seu repositório e filial de CodeCommit origem ou em seu bucket de origem do S3. A próxima etapa inclui instruções para criar esses recursos manualmente para o pipeline. Definir o sinalizador como false desativa verificações periódicas, que não são necessárias ao se usar os métodos de detecção de alterações recomendados.

    4. Para criar uma ação de compilação, teste ou implantação em uma região diferente do seu pipeline, é necessário adicionar o seguinte à sua estrutura de pipeline. Para obter instruções, consulte Adicionar uma ação entre regiões no CodePipeline.

      • Adicione o parâmetro de Region à ação da estrutura do pipeline.

      • Use o artifactStores parâmetro para especificar um repositório de artefatos para cada AWS região em que você tem uma ação.

    5. Quando estiver satisfeito com a estrutura, salve o seu arquivo com um nome como pipeline.json.

    Para criar um pipeline
    1. Execute o comando create-pipeline e use o parâmetro --cli-input-json para especificar o arquivo JSON que você criou anteriormente.

      Para criar um pipeline nomeado MySecondPipeline com um arquivo JSON chamado pipeline.json que inclua o nome "MySecondPipeline" como valor para name no JSON, seu comando teria a seguinte aparência:

      aws codepipeline create-pipeline --cli-input-json file://pipeline.json
      Importante

      Não se esqueça de incluir file:// antes do nome de arquivo. Ele é obrigatório nesse comando.

      Este comando retorna a estrutura de todo o pipeline que você criou.

    2. Para visualizar o pipeline, abra o CodePipeline console e escolha-o na lista de pipelines ou use o get-pipeline-state comando. Para obter mais informações, consulte Veja os pipelines e os detalhes em CodePipeline.

    3. Se usar a ILC para criar um pipeline, você deverá criar manualmente os recursos de detecção de alterações recomendados para o seu pipeline:

    Criar um pipeline usando modelos estáticos

    Você pode criar um pipeline no console que usa um modelo para configurar um pipeline com código-fonte e propriedades que você especificar. Você deve fornecer o local do arquivo de origem e informações sobre os provedores de origem que usará para suas ações. Você pode especificar uma ação de origem para o Amazon ECR ou qualquer repositório de terceiros suportado por CodeConnections, como. GitHub

    O modelo criará uma pilha AWS CloudFormation para seu pipeline que inclui os seguintes recursos:

    • Um pipeline é criado com o tipo de pipeline V2. Em Tipo de pipeline, escolha uma das seguintes opções: Os tipos de pipeline diferem em características e preços. Para obter mais informações, consulte Tipos de pipeline.

    • Um perfil de serviço é criado para o pipeline e referenciado no modelo.

    • Um repositório de artefatos é configurado utilizando o repositório de artefatos padrão, como o bucket S3 designado como padrão, para o pipeline na Região da AWS escolhida para ele.

    Para ver a coleção de modelos iniciais de código aberto que são usados para o assistente de criação de modelos estáticos, consulte o repositório em. https://github.com/aws/codepipeline-starter-templates

    Ao usar modelos estáticos para criar um pipeline, a estrutura do pipeline é configurada em cada modelo de acordo com as necessidades do caso de uso. Por exemplo, o modelo para uma implantação em AWS CloudFormation é usado como exemplo neste procedimento. O modelo gera um pipeline chamado DeployToCloudFormationServicecom a seguinte estrutura:

    • Um estágio de compilação que contém uma ação de origem com configuração que você especifica no assistente.

    • Um estágio de implantação com uma ação de implantação e pilha de recursos associada no AWS CloudFormation.

    Quando você usa um modelo estático para criar um pipeline, CodePipeline cria os nomes dos estágios (origem, construção, preparação). Esses nomes não podem ser alterados. Você pode usar nomes mais específicos (por exemplo, BuildToGamma ou DeployToProd) para os estágios adicionados posteriormente.

    Etapa 1: escolher a opção de criação
    1. Faça login no AWS Management Console e abra o CodePipeline console em http://console.aws.amazon. com/codesuite/codepipeline/home.

    2. Na página Bem-vindo, escolha Criar pipeline.

      Se for a primeira vez que você usa CodePipeline, escolha Começar.

    3. Na página Etapa 1: escolher a opção de criação, em Opções de criação, escolha a opção Criar pipeline a partir do modelo. Escolha Próximo.

    Etapa 2: escolher o modelo

    Escolha um modelo para criar um pipeline com um estágio de implantação, automação ou um pipeline de CI.

    1. Na página Etapa 2: escolher o modelo, faça um dos seguintes e escolha Avançar:

      • Selecione Implantação se você planeja criar um estágio de implantação. Veja as opções de modelos que são implantados no ECR ou CloudFormation. Neste exemplo, escolha Implantação e, em seguida, escolha implantar em CloudFormation.

      • Selecione Integração contínua se você planeja criar um pipeline de CI. Veja as opções de pipelines de CI, como criar no Gradle.

      • Selecione Automação se você planeja criar um pipeline automatizado. Veja as opções de automação, como agendar uma compilação em python.

    2. Imagem mostrando a opção de escolha do modelo com a CloudFormation implantação selecionada no assistente
      Imagem exibindo a página de escolha do código-fonte no assistente
      Imagem mostrando a opção de escolher modelo com automação selecionada no assistente
    Etapa 3: escolher origem
    • Na página Etapa 3: escolher origem, em Provedor de fonte, escolha o provedor para o repositório em que o código-fonte está armazenado, especifique as opções necessárias e, em seguida, escolha Próxima etapa.

      • Para Bitbucket Cloud GitHub (via GitHub aplicativo), GitHub Enterprise Server, GitLab .com ou GitLab autogerenciado:

        1. Em Conexão, escolha uma conexão existente ou crie uma nova. Para criar ou gerenciar uma conexão para sua ação GitHub de origem, consulteGitHub conexões.

        2. Escolha o repositório que deseja utilizar como local de origem do pipeline.

          Selecione a opção para adicionar um gatilho ou filtrar os tipos de gatilho para iniciar o pipeline. Para ter mais informações sobre como trabalhar com gatilhos, consulte Adicione gatilho com tipos de eventos de push ou pull request de código. Para obter mais informações sobre a filtragem de padrões glob, consulte Trabalhar com padrões glob na sintaxe.

        3. Em Formato de artefato de saída, escolha o formato dos seus artefatos.

          • Para armazenar artefatos de saída da GitHub ação usando o método padrão, escolha CodePipelinedefault. A ação acessa os arquivos do GitHub repositório e armazena os artefatos em um arquivo ZIP no repositório de artefatos do pipeline.

          • Para armazenar um arquivo JSON que contém uma referência de URL ao repositório para que as ações downstream possam executar comandos Git diretamente, escolha Full clone (Clone completo). Esta opção só pode ser usada por ações downstream do CodeBuild .

            Se você escolher essa opção, precisará atualizar as permissões para sua função de serviço CodeBuild do projeto, conforme mostrado emSolução de problemas CodePipeline. Para um tutorial que mostra como usar a opção Clone completo, consulte Tutorial: use o clone completo com uma fonte de GitHub pipeline.

      • Para Amazon ECR:

        • Em Nome do repositório, selecione o nome do repositório do Amazon ECR.

        • Em Image tag (Tag da imagem), especifique o nome da imagem e a versão, caso seja diferente da ÚLTIMA.

        • Em Artefatos de saída, escolha o artefato de saída padrão, como MyApp, que contém o nome da imagem e as informações de URI do repositório que você deseja usar na próxima etapa.

        Quando você inclui um estágio de origem do Amazon ECR no pipeline, a ação de origem gera um arquivo imageDetail.json como artefato de saída quando você confirma uma alteração. Para mais informações sobre o arquivo imageDetail.json, consulte Arquivo imageDetail.json para ações de implantação azul/verde do Amazon ECS.

      nota

      O objeto e o tipo de arquivo devem ser compatíveis com o sistema de implantação que você planeja usar (por exemplo, Elastic Beanstalk ou). CodeDeploy Os tipos de arquivos compatíveis podem incluir .zip, .tar e .tgz. Para obter mais informações sobre os tipos de contêiner compatíveis com o Elastic Beanstalk, consulte Personalizar e configurar ambientes do Elastic Beanstalk e Plataformas compatíveis. Para obter mais informações sobre como implantar revisões com CodeDeploy, consulte Carregando a revisão do seu aplicativo e preparando uma revisão.

    Etapa 4: configurar o modelo

    Neste exemplo, a implantação em CloudFormation foi selecionada. Nesta etapa, adicione a configuração para seu modelo.

    Imagem exibindo a página de modelo de configuração no assistente
    1. Em Etapa 4: configurar o modelo, em Nome da pilha, insira um nome para o pipeline.

    2. Edite a política do IAM de espaço reservado para as permissões que se aplicam ao modelo.

    3. Selecione Criar pipeline usando o modelo

    4. Uma mensagem é exibida informando que os recursos de pipeline estão sendo criados.

    Etapa 5: exibir o pipeline
    • Agora que você criou seu pipeline, você pode visualizá-lo no CodePipeline console e ver a pilha em AWS CloudFormation. O pipeline começa a ser executado depois de ser criado. Para obter mais informações, consulte Veja os pipelines e os detalhes em CodePipeline. Para obter mais informações sobre como fazer alterações em seu pipeline, acesse Edite um funil em CodePipeline.