Criar um pipeline no 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á.

Criar um pipeline no CodePipeline

Você pode usar o console do AWS CodePipeline ou a 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 para o pipeline que estão em umAWSRegião diferente do seu pipeline. Uma ação entre regiões é aquela em que umAWSÉ o provedor de uma ação e o tipo de ação ou tipo de provedor estão em umAWSRegião diferente do seu pipeline. Para obter mais informações, consulte Adicionar uma ação entre regiões no CodePipeline.

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

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

  • O CodePipeline usa o Amazon CloudWatch Events para detectar alterações na ramificação ou no repositório 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 oAWSPara criar o pipeline, você mesmo deverá criar os recursos adicionais. Para obter mais informações, consulte Ações do código-fonte do CodeCommit CloudWatch Eventos do.

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 do pipeline, o CodePipeline cria os nomes de estágios (origem, criação, preparação). Esses nomes não podem ser alterados. É possível usar nomes mais específicos, como BuildToGamma ou DeployToProd, para os estágios adicionados posteriormente.

Etapa 1: Crie e nomeie seu pipeline

  1. Faça login noAWS Management Consolee abra o console do CodePipeline emhttp://console.aws.amazon.com/codesuite/codepipeline/home.

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

    Se esta for sua primeira vez usando o CodePipeline, selecioneComece a usar.

  3. NoEtapa 1: Escolha as configurações do pipeline, emPipeline name (Nome do pipeline), insira o nome do pipeline.

    Em um únicoAWS, cada pipeline que você criar em umAWSA 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 no AWS CodePipeline.

  4. Em Service role (Função de serviço), faça um dos seguintes procedimentos:

    • SelecioneNova função de serviçoPara permitir que o CodePipeline crie uma nova função de serviço no IAM. DentroNome da função, a função e o nome da política são padronizados para este formato: AWSCodePipelineServiceroleregião-pipeline_name. Por exemplo, esta é a função de serviço criada para um pipeline chamado MyPipeline: AWSCOdePipeline Servicerole-eu-west-2-mypipeline.

    • 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, pode ser necessário atualizar suas permissões para suportar serviços adicionais da AWS. Para 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 de serviço CodePipeline.

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

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

    1. Selecione Default location (Local padrão) para usar o armazenamento de artefatos padrão, como o bucket de artefatos do S3 designado como padrão, para o pipeline na região da AWS selecionada.

    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 o 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, é necessário ter um bucket de artefato na região do pipeline e um bucket de artefatos por região da AWS em que uma ação é executada.

    Para obter mais informações, consulte Artefatos de entrada e saída e Referência da estrutura do CodePipeline do.

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

    1. Para usar o padrão do CodePipelineAWSChave mestra mestra padrão do cliente (CMK) do KMS para criptografar os dados no armazenamento de artefatos do pipeline (bucket do S3), escolhaPadrãoAWSChave gerenciada.

    2. Para usar a CMK para criptografar os dados no armazenamento de artefatos do pipeline (bucket do S3), escolha Customer Managed Key (Chave gerenciada pelo cliente). Em KMS customer master key (Chave mestra do cliente do KMS), escolha o ID da chave, o ARN da chave ou o ARN do alias.

  8. Escolha Next (Próximo).

Etapa 2: Criar um estágio de origem

  • NoEtapa 2: Adicionar estágio de origem, emProvedor de origem, escolha o tipo de repositório em que seu código-fonte é armazenado, especifique as opções necessárias e depois selecionePróxima etapa.

    • Para o GitHub:

      1. UnderConexão do, escolha uma conexão existente ou crie uma nova. Para criar ou gerenciar uma conexão para a ação de origem do GitHub, consulteConexões do GitHub.

      2. Escolha o repositório GitHub que deseja utilizar como localização da fonte de seu pipeline. Em Branch , na lista suspensa, escolha a ramificação que você deseja usar.

      3. DentroFormato do artefato de saída, escolha o formato para seus artefatos.

        • Para armazenar artefatos de saída da ação do GitHub usando o método padrão, selecioneCodePipeline. A ação acessa os arquivos do repositório GitHub e armazena os artefatos em um arquivo ZIP no armazenamento 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, será necessário atualizar as permissões para a função de serviço do projeto CodeBuild, conforme mostrado emSolucionando problemas do. Para um tutorial que mostra como usar oClonar completo, consulteTutorial: Usar clone completo com uma fonte de pipeline do GitHub.

    • para oAmazon 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 para o pipeline, é possível compactar o arquivo ou os arquivos 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. Assim que escolher o bucket de origem do S3, o CodePipeline cria a regra do Amazon CloudWatch Events e aAWS CloudTrailtrilha a ser criada para este pipeline. Aceite os padrões em Change detection options (Alterar opções de detecção). Isso permite que o CodePipeline use Amazon CloudWatch Events eAWS CloudTrailPara detectar alterações no novo pipeline. Escolha Next (Próximo).

    • Para AWS CodeCommit:

      • DentroNome do repositório, escolha o nome do repositório do CodeCommit que deseja utilizar como localização da fonte do pipeline. Em Branch name, na lista suspensa, escolha a ramificação que você deseja usar.

      • DentroFormato do artefato de saída, escolha o formato para seus artefatos.

        • Para armazenar artefatos de saída da ação CodeCommit usando o método padrão, selecioneCodePipeline. A ação acessa os arquivos do repositório CodeCommit e armazena os artefatos em um arquivo ZIP no armazenamento 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 ocodecommit:GitPullpara sua função de serviço CodeBuild, conforme mostrado emAdicionar permissões do CodeBuild GitClone para ações de CodeCommit fonte Code. Você também precisará adicionar ocodecommit:GetRepositorypara sua função de serviço do CodePipeline, conforme mostrado emAdicionar permissões à função de serviço do CodePipeline. Para um tutorial que mostra como usar oClonar completo, consulteTutorial: Usar clone completo com uma fonte de pipeline do GitHub.

      • Assim que escolher o nome e a ramificação do repositório do CodeCommit do, será exibida uma mensagem emAlterar opções de detecçãomostrando a regra de 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 que o CodePipeline use o Amazon CloudWatch Events para detectar alterações em seu novo pipeline.

    • para oAmazon ECR:

      • DentroNome do repositório, escolha o nome do seu 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 Output artifacts (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 o próximo estágio deve utilizar.

        Para obter um tutorial sobre como criar um pipeline para o Amazon ECS com implantações azul/verde do CodeDeploy que inclua um estágio de origem do Amazon ECR, consulteTutorial: 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 umimageDetail.jsonComo 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 tipo de arquivo devem ser compatíveis com o sistema de implantação que deseja utilizar (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, consultePersonalizar e configurar ambientes do Elastic BeanstalkePlataformas com suporte. Para mais informações sobre como implantar revisões com o CodeDeploy, consulteCarregando sua revisão de aplicativoePreparar 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.

  • NoEtapa 3: Adicionar estágio de compilação, faça um dos seguintes procedimentos e escolhaPró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.

      DentroRegião, escolha a opçãoAWSRegião em que o recurso existe. ORegiãodesigna onde o campoAWSOs 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 é umAWSserviçoServiço. ORegiãopadrão do campo é o mesmoAWSRegião como seu pipeline.

      Em Project name (Nome do projeto), escolha o projeto de compilação. Se você já tiver criado um projeto de compilação no CodeBuild, escolha-o. Ou você pode criar um projeto de compilação no CodeBuild e, em seguida, retornar a essa tarefa. Siga as instruções emCriar um pipeline que use CodeBuildnoCodeBuild guia do usuário.

      DentroVariáveis de ambientePara adicionar as variáveis de ambiente do CodeBuild à ação de compilação, selecioneAdicionar 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 escolherParâmetroPara o tipo de variável, verifique se esse valor é o nome de um parâmetro que você já armazenou noAWSSystems Manager Parameter Store.

        nota

        Não recomendamos o uso de variáveis de ambiente para armazenar valores confidenciais, em especialAWSIDs de chave secreta e chaves de acesso secretas. Quando utiliza a consola do CodeBuild ouAWSCLI, 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) EmTipo de compilação, escolha uma das seguintes opções:

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

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

      (Opcional) Se você optar por executar compilações em lote, você pode escolherCombine todos os artefatos do lote em um único localpara colocar todos os artefatos de construçã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.

  • NoEtapa 4: Adicionar estágio de implantação, faça um dos seguintes procedimentos e escolhaPró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.

      DentroRegião, somente para ações entre regiões, escolha a opçãoAWSRegião onde o recurso é criado. ORegiãodesigna onde o campoAWSOs recursos são criados para esse tipo de ação e tipo de provedor. Esse campo exibe apenas as ações em que o provedor de ação é umAWSserviçoServiço. ORegiãopadrão do campo é o mesmoAWSRegião como seu pipeline.

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

      • CodeDeploy

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

      • AWS Elastic Beanstalk

        DentroApplication name, insira ou selecione o nome de um aplicativo do Elastic Beanstalk existente. Em Nome do ambiente, insira um ambiente para o aplicativo. Escolha Next (Próximo). Você também pode criar um aplicativo, 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 mais informações sobre como adicionar um aplicativo a uma pilha e camada noAWS OpsWorks, consulteAdição de aplicativosnoAWS OpsWorksGuia do usuário do.

        Para um exemplo completo de como utilizar um pipeline simples no CodePipeline como a fonte do código que você executa noAWS OpsWorkscamadas, consulteUsando CodePipeline comAWS OpsWorks Stacks.

      • AWS CloudFormation

        Execute um destes procedimentos:

        • Em Action mode (Modo de ação), selecione Create or update a stack (Criar ou atualizar uma pilha), insira o nome de uma pilha e o nome do arquivo modelo e, então, selecione o nome de uma função para o AWS CloudFormation assumir. Ou então, digite o nome de um arquivo de configuração e escolha uma opção de capacidade do IAM.

        • Em Action mode (Modo de ação), selecione Create or replace a change set (Criar ou substituir um conjunto de alterações), insira o nome de uma pilha e o nome do conjunto de alterações e, então, selecione o nome de uma função para o AWS CloudFormation assumir. Ou então, digite o nome de um arquivo de configuração e escolha uma opção de capacidade do IAM.

        Para obter informações sobre como integrar oAWS CloudFormationem um pipeline no CodePipeline, consulteEntrega contínua com CodePipelinenoAWS CloudFormationGuia do usuário do.

      • Amazon ECS

        DentroNome do cluster, insira ou selecione o nome de um cluster do Amazon ECS 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 de implantação do Amazon ECS requer umimagedefinitions.jsonComo 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 Next (Próximo).

        nota

        Confirme se o cluster do Amazon ECS está 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 outra seja usada para acomodar novas implantações.

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

      • Amazon ECS (Azul/Verde)

        Insira o aplicativo CodeDeploy e o grupo de implantação, a definição de tarefa do Amazon ECS e as informações do arquivo AppSpec e, depois, escolhaPróximo.

        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 umimageDetail.jsonfile. 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 como criar um pipeline para implantações azul/verde em um cluster do Amazon ECS com CodeDeploy, consulteTutorial: 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 como implantar alterações de produtos no AWS Service Catalog com seu pipeline, consulte Tutorial: Criar um pipeline que implanta noAWS 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 Next (Próximo).

        Para obter um tutorial sobre como implantar as skills da Alexa com seu pipeline e gerar as credenciais do LWA, consulte Tutorial: Crie 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 seus arquivos de origem antes de fornecê-los como o artefato de entrada para a próxima ação.

        (Opcional) EmACL pré-configurada, insira oACL (ACL)Para aplicar 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 Next (Próximo).

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

Etapa 5: Revisar o pipeline

  • NoEtapa 5: Review (Revisar), analise a configuração do pipeline e selecioneCriar pipelinePara criar o pipeline ouAnteriorPara 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 Visualizar detalhes e histórico do pipeline no CodePipeline. Para obter mais informações sobre como fazer alterações em seu pipeline, acesse Editar um pipeline no CodePipeline.

Criar um pipeline (CLI)

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

Importante

A AWS CLI não pode ser usada para criar um pipeline que inclui ações de parceiros. Você deve usar o console do CodePipeline.

Para obter mais informações sobre a estrutura do pipeline, consulteReferência da estrutura do CodePipeline doecreate-pipelineNo CodePipelineReferência de API do.

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:

É necessário o ARN da função de serviço criada para o CodePipeline noConceitos básicos do CodePipeline. Use o ARN da função de serviço do CodePipeline no arquivo JSON do pipeline ao executar ocreate-pipelinecomando. Para obter mais informações sobre como criar uma função de serviço, consulte Criar a função de serviço CodePipeline. Ao contrário do console, executar o comandocreate-pipelinena caixa de diálogoAWS CLINão tem a opção de criar a função de serviço do CodePipeline 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. Diferentemente do console, executar o comando create-pipeline na AWS CLI não cria um bucket do S3 para armazenar os 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. 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 }, "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 recursos de marcação do no CodePipeline, consulteMarcar recursos do .

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

      "PollForSourceChanges": "false",

      O CodePipeline usa o Amazon CloudWatch Events para detectar alterações na ramificação ou no repositório 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.

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

      • Usar aartifactStoresParameter para especificar um bucket de artefatos para cadaAWSRegião onde você tem uma ação.

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

    Como criar um pipeline do

    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 chamadoMySecondPipelinecom um arquivo JSON chamado pipeline.json que inclui o nome”MySecondPipeline“como o valor paranameNo 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 console do CodePipeline e o selecione a partir da lista de pipelines ou utilize oget-pipeline-statecomando. Para obter mais informações, consulte Visualizar detalhes e histórico do pipeline no 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: