Crie um pipeline em CodePipeline - 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 em CodePipeline

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 uma AWS região 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 ter 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 ter 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 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 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 ter 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.

  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 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 obter 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 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 em nível de 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 Referência da estrutura do pipeline do CodePipeline.

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

  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 como realizar a filtragem com padrões glob, consulte Trabalhar com padrões glob na sintaxe.

      3. Em Formato do 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: Usar o clone completo com uma origem de pipeline do GitHub.

    • 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 assistir a um tutorial que mostre como usar a opção Clone completo, consulte Tutorial: Usar o clone completo com uma origem de pipeline do GitHub.

      • 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: Criar um pipeline com a origem do Amazon ECR e a implantação do ECS para CodeDeploy

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

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 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 de uma 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 ter 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 ter 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: Criar um pipeline com a origem do Amazon ECR e a implantação do ECS para 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 é implantado 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.

        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.

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 ter 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 Referência da estrutura do pipeline do CodePipeline 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. Conceitos básicos do 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 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": "awscodepipeline-demobucket-example-date", "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, consulteMarcar recursos.

      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 MySecondPipelinecom 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 ter 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: