Crie 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á.

Crie 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.

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 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 funil. Para obter mais informações, consulte Adicionar uma ação entre regiões em CodePipeline.

Você também pode criar pipelines que criam e implantam aplicativos baseados em contêineres usando a Amazon ECS como provedor de implantação. Antes de criar um pipeline que implante aplicativos baseados em contêineres com a AmazonECS, você deve 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 o AWS CLI para criar o pipeline, você mesmo deverá criar os recursos adicionais. Para obter mais informações, consulte CodeCommit ações de origem e EventBridge.

Criar um pipeline (console)

Para criar um pipeline 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 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 Step 1: Choose pipeline settings (Etapa 1: selecionar configurações do pipeline), em Pipeline name (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.

  4. 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 JSON estrutura que contém parâmetros padrão de pipeline, estágio e nível de 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.

  5. Em Service role (Função 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 emIAM.

    • Escolha Função de serviço existente para usar uma função de serviço já criada emIAM. Em Função ARN, escolha sua função ARN 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.

  6. (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á.

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

  8. 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.

  9. (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, a chave ARN ou o alias ARN da chave.

  10. Escolha Próximo.

Etapa 2: criar um estágio de origem
  • Na página Step 2: Add source stage (Etapa 2: Adicionar estágio de origem), em Source provider (Provedor de código-fonte), escolha o tipo de repositório em que seu código-fonte é armazenado, especifique as opções necessárias e depois escolha Next step (Próxima etapa).

    • Para Bitbucket Cloud, GitHub (versão 2), 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.

        Escolha adicionar um gatilho ou filtrar os tipos de gatilhos para iniciar seu funil. Para obter mais informações sobre como trabalhar com gatilhos, consulte. Filtrar gatilhos em solicitações push ou pull 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 ZIP arquivo no repositório de artefatos do pipeline.

        • Para armazenar um JSON arquivo que contém uma URL referência ao repositório para que as ações downstream possam executar comandos do Git diretamente, escolha Clonagem completa. Essa opção só pode ser usada por ações CodeBuild posteriores.

          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 ZIP arquivo no repositório de artefatos do pipeline.

        • Para armazenar um JSON arquivo que contém uma URL referência ao repositório para que as ações downstream possam executar comandos do Git diretamente, escolha Clonagem completa. Essa opção só pode ser usada por ações CodeBuild posteriores.

          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 a Amazon ECR:

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

      • Em Tag de imagem, especifique o nome e a versão da imagem, se for diferente deLATEST.

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

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

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

    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 3: criar um estágio de compilação

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

  • Na página Step 3: Add build stage (Etapa 3: Adicionar estágio de compilação), realize uma das seguintes ações e, então, selecione Next (Próximo):

    • Escolha Skip build stage (Ignorar estágio de compilação) se você planeja criar um estágio de implantação.

    • 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 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 use CodeBuild no Guia do CodeBuild usuário.

      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 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.

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

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

  • Na página Step 4: Add deploy stage (Etapa 4: Adicionar estágio de implantação), realize uma das seguintes ações e, então, selecione Next (Próximo):

    • Escolha Skip deploy stage (Ignorar estágio de implantação) se você criou um estágio de compilação na etapa anterior.

      nota

      Essa opção não será exibida se você já tiver ignorado o estágio de compilação.

    • 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 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, um grupo de implantação ou ambos no CodeDeploy console.

      • 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 Adicionando 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. Opcionalmente, insira o nome de um arquivo de configuração e escolha uma opção IAM de capacidade.

        • 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 de uma função AWS CloudFormation a ser assumida. Opcionalmente, insira o nome de um arquivo de configuração e escolha uma opção IAM de capacidade.

        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 ECS cluster Amazon existente. 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 ECS de implantação da Amazon exige um imagedefinitions.json arquivo 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 da Amazon ECS.

        Escolha Próximo.

        nota

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

        Para ver um tutorial sobre a implantação de aplicativos baseados em contêineres com seu pipeline, consulte Tutorial: Implantação contínua com. CodePipeline

      • Amazon ECS (azul/verde)

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

        nota

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

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

      • 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 ID do cliente e Segredo do cliente, insira as credenciais geradas usando um perfil de segurança do Login with Amazon (LWA). Em Token de atualização, insira o token de atualização que você gerou usando o ASK CLI comando para recuperar um token de atualização. Escolha Próximo.

        Para ver um tutorial sobre como implantar as habilidades da Alexa em seu funil e gerar as LWA credenciais, 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 Extrair arquivo antes da implantação se o artefato de entrada para seu estágio de implantação for um ZIP arquivo. Se a opção Extrair arquivo antes da implantação for selecionada, você poderá, opcionalmente, inserir um valor para o caminho de implantação no qual seu ZIP arquivo 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 Predefinido ACL, insira o padrão a ser aplicado ACL ao objeto implantado no Amazon S3.

        nota

        A aplicação de um padrão ACL substitui qualquer existente ACL aplicado 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 Cache-Controlcabeçalho para HTTP operações. 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 mostrando o campo de controle de cache no console com a seguinte entrada: public, max-age=0, no-transform

        A entrada do exemplo anterior é exibida da CLI 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.

Etapa 5: Revisar o pipeline
  • Na página Etapa 5: Revisar, revise a configuração de seu pipeline e, então, selecione Criar pipeline para criar o pipeline ou Anterior para voltar e editar suas opções. 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 Visualize pipelines e detalhes em CodePipeline. Para obter mais informações sobre como fazer alterações em seu pipeline, acesse Edite um pipeline em CodePipeline.

Crie um pipeline (CLI)

Para usar o AWS CLI para criar um pipeline, você cria um JSON arquivo 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. CodePipeline API

Para criar um JSON arquivo, use o JSON arquivo de pipeline de amostra, edite-o e chame esse arquivo ao executar o create-pipeline comando.

Pré-requisitos:

Você precisa da função ARN de serviço para CodePipeline a qual você criouComeçando com CodePipeline. Você usa a função CodePipeline de serviço ARN no JSON arquivo de pipeline ao executar o create-pipeline comando. Para obter mais informações sobre como criar um perfil de serviço, consulte Crie a função CodePipeline de serviço. 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. Você usa o nome do bucket no JSON arquivo do pipeline ao executar o create-pipeline comando. 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 get-pipeline comando para obter uma cópia da JSON estrutura desse pipeline e depois modificar essa estrutura em um editor de texto sem formatação.

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 seu funil JSON ou ao exemplo JSON da 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 .

      Certifique-se de que o PollForSourceChanges parâmetro em seu JSON arquivo esteja definido da seguinte forma:

      "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 em 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 create-pipeline comando e use o --cli-input-json parâmetro para especificar o JSON arquivo que você criou anteriormente.

      Para criar um pipeline chamado MySecondPipeline com um JSON arquivo chamado pipeline.json que inclui o nome”MySecondPipeline“como o valor de name noJSON, 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 Visualize pipelines e detalhes em CodePipeline.

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