

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

# Use AWS CodeBuild with AWS CodePipeline para testar o código e executar compilações
<a name="how-to-create-pipeline"></a>

Você pode automatizar seu processo de lançamento usando AWS CodePipeline para testar seu código e executar suas compilações com. AWS CodeBuild

A tabela a seguir lista tarefas e os métodos disponíveis para executá-los. Usar o AWS SDKs para realizar essas tarefas está fora do escopo deste tópico. 


****  

| Tarefa | Abordagens disponíveis | Abordagens descritas neste tópico | 
| --- | --- | --- | 
| Crie um pipeline de entrega contínua (CD) CodePipeline que automatize as compilações com CodeBuild |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/how-to-create-pipeline.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/how-to-create-pipeline.html)  | 
| Adicione automação de teste e construção CodeBuild a um pipeline existente no CodePipeline |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/how-to-create-pipeline.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/how-to-create-pipeline.html)  | 

**Topics**
+ [

## Pré-requisitos
](#how-to-create-pipeline-prerequisites)
+ [

# Crie um pipeline que use CodeBuild (CodePipeline console)
](how-to-create-pipeline-console.md)
+ [

# Crie um pipeline que use CodeBuild (AWS CLI)
](how-to-create-pipeline-cli.md)
+ [

# Adicionar uma ação de CodeBuild criação a um pipeline (CodePipeline console)
](how-to-create-pipeline-add.md)
+ [

# Adicionar uma ação CodeBuild de teste a um pipeline (CodePipeline console)
](how-to-create-pipeline-add-test.md)

## Pré-requisitos
<a name="how-to-create-pipeline-prerequisites"></a>

1. Responda às perguntas em [Planejar uma compilação](planning.md).

1. Se você estiver usando um usuário para acessar CodePipeline em vez de uma conta AWS raiz ou um usuário administrador, anexe a política gerenciada nomeada `AWSCodePipelineFullAccess` ao usuário (ou ao grupo do IAM ao qual o usuário pertence). Não é recomendável usar uma conta AWS root. Essa política concede ao usuário permissão para criar o pipeline no CodePipeline. Para obter mais informações, consulte [Attaching managed policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-using.html#attach-managed-policy-console) no *Guia do usuário*.
**nota**  
A entidade do IAM que associa a política ao usuário (ou ao grupo ao qual o usuário pertence) deve ter permissão no IAM para associar políticas. Para obter mais informações, consulte [Delegating permissions to administer IAM users, groups, and credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_delegate-permissions.html) no *Guia do usuário*.

1. Crie uma função de CodePipeline serviço, caso ainda não tenha uma disponível em sua AWS conta. CodePipeline usa essa função de serviço para interagir com outros AWS serviços AWS CodeBuild, inclusive em seu nome. Por exemplo, para usar o AWS CLI para criar uma função CodePipeline de serviço, execute o `create-role` comando IAM:

   Para Linux, macOS ou Unix:

   ```
   aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document '{"Version": "2012-10-17",		 	 	 "Statement":{"Effect":"Allow","Principal":{"Service":"codepipeline.amazonaws.com"},"Action":"sts:AssumeRole"}}'
   ```

   Para Windows:

   ```
   aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codepipeline.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}}"
   ```
**nota**  
A entidade do IAM que cria essa função CodePipeline de serviço deve ter permissão no IAM para criar funções de serviço.

1. Depois de criar uma função de CodePipeline serviço ou identificar uma existente, você deve adicionar a política de função de CodePipeline serviço padrão à função de serviço conforme descrito em [Revise a política de função de CodePipeline serviço padrão](https://docs.aws.amazon.com/codepipeline/latest/userguide/iam-identity-based-access-control.html#how-to-custom-role) no *Guia AWS CodePipeline do usuário*, se ela ainda não fizer parte da política da função.
**nota**  
A entidade do IAM que adiciona essa política CodePipeline de função de serviço deve ter permissão no IAM para adicionar políticas de função de serviço às funções de serviço.

1. Crie e carregue o código-fonte em um tipo de repositório compatível com CodeBuild e CodePipeline, por exemplo CodeCommit, Amazon S3, Bitbucket ou. GitHub O código-fonte deve conter um arquivo de buildspec, mas você poderá declarar um ao definir um projeto de compilação mais adiante neste tópico. Para obter mais informações, consulte o [Referência de buildspec](build-spec-ref.md).
**Importante**  
Se pretende usar o pipeline para implantar código-fonte da compilação, o artefato de saída da compilação deve ser compatível com o sistema de implantação que você usa.   
Para OpsWorks, consulte [Fonte do aplicativo](https://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-source) e [Uso CodePipeline com OpsWorks](https://docs.aws.amazon.com/opsworks/latest/userguide/other-services-cp.html) no *Guia OpsWorks do usuário*.

# Crie um pipeline que use CodeBuild (CodePipeline console)
<a name="how-to-create-pipeline-console"></a>

Use o procedimento a seguir para criar um pipeline usado CodeBuild para criar e implantar seu código-fonte.

Para criar um pipeline que somente teste o código-fonte:
+ Use o seguinte procedimento para criar o pipeline e, então, exclua do pipeline os estágios Build e Beta. Depois use o procedimento [Adicionar uma ação CodeBuild de teste a um pipeline (CodePipeline console)](how-to-create-pipeline-add-test.md) neste tópico para adicionar ao pipeline uma ação de teste que use CodeBuild.
+ Use um dos outros procedimentos neste tópico para criar o pipeline e, depois, use o procedimento [Adicionar uma ação CodeBuild de teste a um pipeline (CodePipeline console)](how-to-create-pipeline-add-test.md) neste tópico para adicionar ao pipeline uma ação de teste que use CodeBuild.

**Para usar o assistente de criação de pipeline CodePipeline para criar um pipeline que usa CodeBuild**

1. Faça login no Console de gerenciamento da AWS usando:
   + Sua conta AWS root. Isso não é recomendado. Para obter mais informações, consulte [O usuário raiz da conta](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) no *Guia do usuário do *.
   + Um usuário administrador em sua AWS conta. Para obter mais informações, consulte [Como criar seu primeiro usuário e grupo Conta da AWS raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) no *Guia do usuário*.
   + Um usuário em sua AWS conta com permissão para usar o seguinte conjunto mínimo de ações:

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. Abra o AWS CodePipeline console em [https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. No seletor de AWS região, escolha a AWS região em que os AWS recursos do seu projeto de construção estão localizados. Essa deve ser uma AWS região CodeBuild com suporte. Para ter mais informações, consulte [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) no *Referência geral da Amazon Web Services*.

1. Crie um pipeline. Se uma página de CodePipeline informações for exibida, escolha **Criar pipeline**. Se uma página **All Pipelines (Todos os pipelines)** for exibida, selecione **Create pipeline (Criar pipeline)**.

1. Na página **Step 1: Choose pipeline settings (Etapa 1: selecionar as configurações do pipeline)**, em **Pipeline name (Nome do pipeline)**, insira o nome do pipeline (por exemplo, **CodeBuildDemoPipeline**). Se você escolher um nome diferente, certifique-se de usá-lo durante todo este procedimento.

1. Em **Role name (Nome da função)**, siga um dos seguintes procedimentos:

   Selecione **New service role (Nova função de serviço)**, e em **Role Name (Nome da função)**, insira o nome para a nova função de serviço.

   Selecione **Existing service role (Função de serviço existente)** e depois selecione a função de serviço do CodePipeline criada ou identificada como parte dos pré-requisitos deste tópico.

1. Em **Artifact store (Armazenamento de artefatos)**, siga um dos seguintes procedimentos:
   + 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 na AWS região que você selecionou para seu pipeline.
   + Escolha um **local personalizado** se você já tiver um armazenamento de artefatos criado por você, como um bucket de artefatos do S3, na mesma AWS região do seu pipeline.
**nota**  
Este não é o bucket de origem para o código-fonte do pipeline. Este é o armazenamento de artefatos para o pipeline. Um armazenamento de artefatos separado, como um bucket do S3, é necessário para cada pipeline, na mesma AWS região do pipeline.

1. Escolha **Próximo**.

1. Na página **Step 2: Add source stage (Etapa 2: adicionar estágio de origem)**, para **Source provider (Fornecedor de origem)**, faça um dos seguintes procedimentos:
   + Se o código-fonte estiver armazenado no bucket do S3, escolha **Amazon S3**. Em **Bucket**, selecione o bucket do S3 que contenha o código-fonte. Em **S3 object key (Chave do objeto do S3)**, insira o nome do arquivo o contém o código-fonte (por exemplo `file-name.zip`). Escolha **Próximo**.
   + Se seu código-fonte estiver armazenado em um AWS CodeCommit repositório, escolha **CodeCommit**. Para **Repository name (Nome do repositório)**, escolha o nome do repositório que contém o código-fonte. Em **Branch name (Nome da ramificação)**, escolha o nome da ramificação que contenha a versão do código-fonte que você deseja compilar. Escolha **Próximo**.
   + Se seu código-fonte estiver armazenado em um GitHub repositório, escolha **GitHub**. Escolha **Connect GitHub to** e siga as instruções para se autenticar com GitHub. Para **Repository (Repositório)**, escolha o nome do repositório que contém o código-fonte. Em **Branch (Ramificação)**, escolha o nome da ramificação que contenha a versão do código-fonte que você deseja compilar. 

   Escolha **Próximo**.

1. Na página **Step 3: Add build stage (Etapa 3: adicionar estágio de compilação)**, em **Build provider (Provedor de compilação)**, escolha **CodeBuild**.

1. Se você já tiver um projeto de compilação que deseja usar, em **Nome do projeto**, escolha o nome do projeto de compilação e avance para a próxima etapa deste procedimento. 

   Se você precisar criar um novo projeto de CodeBuild compilação, siga as instruções [Criar um projeto de compilação (console)](create-project.md#create-project-console) e retorne a esse procedimento.

   Se você escolher um projeto de construção existente, ele deverá ter configurações de artefato de saída de construção já definidas (mesmo que as CodePipeline substitua). Para obter mais informações, consulte [Alterar configurações de um projeto de compilação (console)](change-project.md#change-project-console).
**Importante**  
Se você habilitar webhooks para um CodeBuild projeto e o projeto for usado como uma etapa de compilação CodePipeline, duas compilações idênticas serão criadas para cada confirmação. Uma compilação é acionada por meio de webhooks e outra por meio do CodePipeline. Como o faturamento é por compilação, você é cobrado por ambas as compilações. Portanto, se você estiver usando CodePipeline, recomendamos que você desative os webhooks em. CodeBuild No console do AWS CodeBuild desmarque a caixa de **Webhook**. Para obter mais informações, consulte [Alterar configurações de um projeto de compilação (console)](change-project.md#change-project-console).

1. Na página **Step 4: Add deploy stage (Etapa 4: adicionar estágio de implantação)**, faça o seguinte:
   + Se você não deseja implantar o artefato de saída da compilação, selecione **Skip (Avançar)** e confirme essa opção quando solicitado. 
   + Se quiser implantar o artefato de saída da compilação, em **Deploy provider (Provedor de implantação)**, selecione um provedor de implantação e especifique as configurações quando solicitadas.

   Escolha **Próximo**.

1. Na página ** Review (Revisar)**, revise suas escolhas e, em seguida, selecione **Create pipeline (Criar pipeline)**.

1. Depois de o pipeline ser executado com sucesso, você pode obter o artefato de saída de build. Com o pipeline exibido no CodePipeline console, na ação **Criar**, escolha a dica de ferramenta. Anote o valor do **artefato de saída** (por exemplo, **MyAppBuild**).
**nota**  
Você também pode obter o artefato de saída da compilação escolhendo o link **Construir artefatos** na página de detalhes da compilação no CodeBuild console. Para exibir essa página, despreze as etapas restantes deste procedimento e consulte [Visualizar detalhes de compilação (console)](view-build-details.md#view-build-details-console).

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Na lista de bucket, abra o bucket usado pelo pipeline. O nome do bucket deve seguir o formato `codepipeline-region-ID-random-number`. Você pode usar o AWS CLI para executar o CodePipeline **get-pipeline** comando para obter o nome do bucket, onde *my-pipeline-name* está o nome de exibição do seu pipeline:

   ```
   aws codepipeline get-pipeline --name my-pipeline-name
   ```

    Na saída, o objeto `pipeline` contém um objeto `artifactStore`, que contém um valor `location` com o nome do bucket.

1. Abra a pasta que corresponda ao nome de seu pipeline (dependendo do tamanho do nome do pipeline, o nome da pasta pode estar truncado) e abra a pasta correspondente ao valor de **Output artifact (Artefato de saída)** que você anotou anteriormente.

1. Extraia o conteúdo do arquivo. Se houver vários arquivos na pasta, extraia o conteúdo do arquivo com o carimbo **Última modificação** mais recente. (Talvez você precise atribuir ao arquivo a extensão `.zip`, de maneira que possa trabalhar com ele no utilitário ZIP do sistema.) O artefato de saída de compilação está no conteúdo extraído do arquivo.

1. Se você tiver instruído CodePipeline a implantar o artefato de saída de compilação, use as instruções do provedor de implantação para acessar o artefato de saída de compilação nos destinos de implantação.

# Crie um pipeline que use CodeBuild (AWS CLI)
<a name="how-to-create-pipeline-cli"></a>

Use o procedimento a seguir para criar um pipeline usado CodeBuild para criar seu código-fonte.

Para usar o AWS CLI para criar um pipeline que implante seu código-fonte construído ou que apenas teste seu código-fonte, você pode adaptar as instruções em [Editar um pipeline (AWS CLI)](https://docs.aws.amazon.com/codepipeline/latest/userguide/how-to-edit-pipelines.html#how-to-edit-pipelines-cli) e a [referência da estrutura do CodePipeline pipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) no *Guia do AWS CodePipeline usuário*.

1. Crie ou identifique um projeto de construção em CodeBuild. Para obter mais informações, consulte [Criar um projeto de compilação](create-project.md).
**Importante**  
O projeto de build deve definir as configurações de artefato de saída de build (mesmo que o CodePipeline sobrescreva-as). Para obter mais informações, consulte a descrição de `artifacts` em [Crie um projeto de compilação (AWS CLI)](create-project.md#create-project-cli).

1. Certifique-se de ter configurado o AWS CLI com a chave de AWS acesso e a chave de acesso AWS secreta que correspondem a uma das entidades do IAM descritas neste tópico. Para obter mais informações, consulte [Noções básicas de configuração da AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) no *Guia do usuário da AWS Command Line Interface *.

1. Crie um arquivo formatado JSON que represente a estrutura do pipeline. Nomeie o arquivo como `create-pipeline.json` ou algo similar. Por exemplo, essa estrutura em formato JSON cria um pipeline com uma ação de origem que faz referência a um bucket de entrada do S3 e uma ação de compilação que use o CodeBuild:

   ```
   {
     "pipeline": {
       "roleArn": "arn:aws:iam::<account-id>:role/<AWS-CodePipeline-service-role-name>",
       "stages": [
         {
           "name": "Source",
           "actions": [
             {
               "inputArtifacts": [],
               "name": "Source",
               "actionTypeId": {
                 "category": "Source",
                 "owner": "AWS",
                 "version": "1",
                 "provider": "S3"
               },
               "outputArtifacts": [
                 {
                   "name": "MyApp"
                 }
               ],
               "configuration": {
                 "S3Bucket": "<bucket-name>",
                 "S3ObjectKey": "<source-code-file-name.zip>"
               },
               "runOrder": 1
             }
           ]
         },
         {
           "name": "Build",
           "actions": [
             {
               "inputArtifacts": [
                 {
                   "name": "MyApp"
                 }
               ],
               "name": "Build",
               "actionTypeId": {
                 "category": "Build",
                 "owner": "AWS",
                 "version": "1",
                 "provider": "CodeBuild"
               },
               "outputArtifacts": [
                 {
                   "name": "default"
                 }
               ],
               "configuration": {
                 "ProjectName": "<build-project-name>"
               },
               "runOrder": 1
             }
           ]
         }
       ],
       "artifactStore": {
         "type": "S3",
         "location": "<CodePipeline-internal-bucket-name>"
       },
       "name": "<my-pipeline-name>",
       "version": 1
     }
   }
   ```

   Nesses dados formatados JSON:
   + O valor de `roleArn` deve corresponder ao ARN da função de CodePipeline serviço que você criou ou identificou como parte dos pré-requisitos.
   + Os valores de `S3Bucket` e `S3ObjectKey` na `configuration` presumem que o código-fonte esteja armazenado no bucket do S3. Para configurações de outros tipos de repositório de código-fonte, consulte [Referência da estrutura do pipeline do CodePipeline ](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) no *Guia do usuário do AWS CodePipeline *.
   + O valor de `ProjectName` é o nome do projeto de CodeBuild construção que você criou anteriormente neste procedimento.
   + O valor de `location` é o nome do bucket S3 usado por este pipeline. Para obter mais informações, consulte [Criar uma política para bucket do S3 para usar como armazenamento de artefatos do CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/access-permissions.html#how-to-create-bucket-policy) no *Guia do usuário do AWS CodePipeline *.
   + O valor de `name` é o nome deste pipeline. Todos os nomes de pipeline devem ser únicos em sua conta.

   Embora esses dados descrevam somente uma ação de origem e uma ação de construção, você pode adicionar ações para atividades relacionadas a testes, implantação do artefato de saída de compilação, invocação de AWS Lambda funções e muito mais. Para obter mais informações, consulte [Referência da estrutura do pipeline do AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-structure.html) no *Guia do usuário do AWS CodePipeline *.

1. Alterne para a pasta que contém o arquivo JSON e execute o CodePipeline **[create-pipeline](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/create-pipeline.html)** comando, especificando o nome do arquivo:

   ```
   aws codepipeline create-pipeline --cli-input-json file://create-pipeline.json
   ```
**nota**  
Você deve criar o pipeline em uma AWS região com suporte. CodeBuild Para ter mais informações, consulte [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) no *Referência geral da Amazon Web Services*.

   Os dados formatados em JSON aparecem na saída e CodePipeline criam o pipeline.

1. Para obter informações sobre o status do pipeline, execute o CodePipeline **[get-pipeline-state](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html)** comando, especificando o nome do pipeline:

   ```
   aws codepipeline get-pipeline-state --name <my-pipeline-name>
   ```

   Na saída, procure informações que confirme que o build foi executado com sucesso. As elipses (`...`) são usadas para exibir dados que foram omitidos para agilizar.

   ```
   {
     ...
     "stageStates": [
       ...  
       {
         "actionStates": [
           {
             "actionName": "CodeBuild",
             "latestExecution": {
               "status": "SUCCEEDED",
               ...
             },
             ...
           }
         ]
       }
     ]
   }
   ```

   Se você executar esse comando muito cedo, poderá não ver as informações sobre a ação de build. Você pode precisar executar esse comando várias vezes até que o pipeline tenha concluído a execução da ação de build.

1. Depois de um build bem-sucedido, siga estas instruções para obter o artefato de saída de build. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).
**nota**  
Você também pode obter o artefato de saída de compilação selecionando o link **Build artifacts (Criar artefatos)** na página de detalhes da compilação relacionada, no console do CodeBuild. Para exibir essa página, despreze as etapas restantes deste procedimento e consulte [Visualizar detalhes de compilação (console)](view-build-details.md#view-build-details-console).

1. Na lista de bucket, abra o bucket usado pelo pipeline. O nome do bucket deve seguir o formato `codepipeline-<region-ID>-<random-number>`. Você pode obter o nome do bucket do `create-pipeline.json` arquivo ou executar o CodePipeline **get-pipeline** comando para obter o nome do bucket.

   ```
   aws codepipeline get-pipeline --name <pipeline-name>
   ```

    Na saída, o objeto `pipeline` contém um objeto `artifactStore`, que contém um valor `location` com o nome do bucket.

1. Abra a pasta que corresponda ao nome do seu pipeline (por exemplo, `<pipeline-name>`).

1. Naquela pasta, abra a pasta denominada `default`.

1. Extraia o conteúdo do arquivo. Se houver vários arquivos na pasta, extraia o conteúdo do arquivo com o carimbo **Última modificação** mais recente. (Talvez você precise atribuir ao arquivo uma extensão `.zip`, de maneira que possa trabalhar com ele no utilitário ZIP do sistema.) O artefato de saída de compilação está no conteúdo extraído do arquivo.

# Adicionar uma ação de CodeBuild criação a um pipeline (CodePipeline console)
<a name="how-to-create-pipeline-add"></a>

1. Faça login no Console de gerenciamento da AWS usando:
   + Sua conta AWS root. Isso não é recomendado. Para obter mais informações, consulte [O usuário raiz da conta](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) no *Guia do usuário do *.
   + Um usuário administrador em sua AWS conta. Para obter mais informações, consulte [Como criar seu primeiro usuário e grupo Conta da AWS raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) no *Guia do usuário*.
   + Um usuário em sua AWS conta com permissão para realizar o seguinte conjunto mínimo de ações:

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. Abra o CodePipeline console em [https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. No seletor de AWS região, escolha a AWS região em que seu funil está localizado. Essa deve ser uma região CodeBuild com suporte. Para ter mais informações, consulte [CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) no *Referência geral da Amazon Web Services*.

1. Na página **Pipelines**, selecione o nome do pipeline.

1. Na página de detalhes do pipeline, na ação **Source (Origem)**, selecione a dica de ferramenta. Anote o valor do **artefato de saída** (por exemplo, **MyApp**).
**nota**  
Este procedimento mostra como adicionar uma ação de build em um estágio de build entre os estágios **Source (Origem)** e **Beta (Beta)**. Se quiser adicionar a ação de build a outro lugar, escolha a dica de ferramenta sobre a ação próximo ao local onde você deseja adicionar a ação de build e anote o valor para **Output artifact (Artefato de saída)**.

1. Escolha **Editar**.

1. Entre os estágios **Source (Origem)** e **Beta**, selecione **Add stage (Adicionar estágio)**.
**nota**  
Este procedimento mostra como adicionar um estágio de compilação entre os estágios **Source (Origem)** e **Beta (Beta)** ao pipeline. Para adicionar uma ação de compilação a um estágio existente, selecione **Edit stage (Editar estágio)** no estágio e avance para a etapa 8 deste procedimento. Para adicionar o estágio de compilação em outro local, selecione **Add stage (Adicionar estágio)** no local desejado.

     
![\[Como adicionar um estágio de compilação entre os estágios Origem e Beta ao pipeline.\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/images/create-stage.png)

   

1. Para **Stage name (Nome do estágio)**, insira o nome do estágio de compilação (por exemplo, **Build**). Se escolher um nome diferente, use-o nas etapas deste procedimento.

1. Em vez do estágio selecionado, selecione **Add action (Adicionar ação)**.
**nota**  
Este procedimento mostra como acrescentar a ação de compilação em um estágio de compilação. Para adicionar a ação de compilação em outro local, selecione **Add action (Adicionar ação)** no local desejado. Talvez seja necessário selecionar primeiro **Edit stage (Editar estágio)** no estágio existente em que deseja adicionar a ação de compilação.

1. Em **Edit action (Editar ação)**, em **Action name (Nome da ação)**, insira um nome para a ação (por exemplo, **CodeBuild**). Se escolher um nome diferente, use-o nas etapas deste procedimento.

1. Em **Action provider (Provedor de ação)**, selecione **CodeBuild**.

1. Se você já tiver um projeto de compilação que deseja usar, em **Nome do projeto**, escolha o nome do projeto de compilação e avance para a próxima etapa deste procedimento.

   Se você precisar criar um novo projeto de CodeBuild compilação, siga as instruções [Criar um projeto de compilação (console)](create-project.md#create-project-console) e retorne a esse procedimento.

   Se você escolher um projeto de construção existente, ele deverá ter configurações de artefato de saída de construção já definidas (mesmo que as CodePipeline substitua). Para obter mais informações, consulte a descrição de **Artifacts (Artefatos)** em [Criar um projeto de compilação (console)](create-project.md#create-project-console) ou [Alterar configurações de um projeto de compilação (console)](change-project.md#change-project-console).
**Importante**  
Se você habilitar webhooks para um CodeBuild projeto e o projeto for usado como uma etapa de compilação CodePipeline, duas compilações idênticas serão criadas para cada confirmação. Uma compilação é acionada por meio de webhooks e outra por meio do CodePipeline. Como o faturamento é por compilação, você é cobrado por ambas as compilações. Portanto, se você estiver usando CodePipeline, recomendamos que você desative os webhooks em. CodeBuild No CodeBuild console, desmarque a caixa do **Webhook**. Para obter mais informações, consulte [Alterar configurações de um projeto de compilação (console)](change-project.md#change-project-console).

1. Em **Input artifacts (Artefatos de entrada)**, selecione o artefato de saída que você anotou anteriormente neste procedimento.

1. Em **Output artifacts (Artefatos de saída)**, insira um nome para o artefato de saída (por exemplo, **MyAppBuild**). 

1. Selecione **Adicionar ação**.

1. Escolha **Save (Salvar)** e selecione **Save (Salvar)** para salvar suas alterações no pipeline.

1. Selecione **Release change**.

1. Depois de o pipeline ser executado com sucesso, você pode obter o artefato de saída de build. Com o pipeline exibido no CodePipeline console, na ação **Criar**, escolha a dica de ferramenta. Anote o valor do **artefato de saída** (por exemplo, **MyAppBuild**).
**nota**  
Você também pode obter o artefato de saída da compilação escolhendo o link **Construir artefatos** na página de detalhes da compilação no CodeBuild console. Para acessar essa página, consulte [Visualizar detalhes de compilação (console)](view-build-details.md#view-build-details-console) e avance para a etapa 31 deste procedimento.

1. Abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Na lista de bucket, abra o bucket usado pelo pipeline. O nome do bucket deve seguir o formato `codepipeline-region-ID-random-number`. Você pode usar o AWS CLI para executar o CodePipeline **get-pipeline** comando para obter o nome do bucket:

   ```
   aws codepipeline get-pipeline --name my-pipeline-name
   ```

    Na saída, o objeto `pipeline` contém um objeto `artifactStore`, que contém um valor `location` com o nome do bucket.

1. Abra a pasta que corresponda ao nome de seu pipeline (dependendo do tamanho do nome do pipeline, o nome da pasta pode estar truncado) e abra a pasta correspondente ao valor de **Output artifact (Artefato de entrada)** que você anotou anteriormente neste procedimento.

1. Extraia o conteúdo do arquivo. Se houver vários arquivos na pasta, extraia o conteúdo do arquivo com o carimbo **Última modificação** mais recente. (Talvez você precise atribuir ao arquivo a extensão `.zip`, de maneira que possa trabalhar com ele no utilitário ZIP do sistema.) O artefato de saída de compilação está no conteúdo extraído do arquivo.

1. Se você tiver instruído CodePipeline a implantar o artefato de saída de compilação, use as instruções do provedor de implantação para acessar o artefato de saída de compilação nos destinos de implantação.

# Adicionar uma ação CodeBuild de teste a um pipeline (CodePipeline console)
<a name="how-to-create-pipeline-add-test"></a>

1. Faça login no Console de gerenciamento da AWS usando:
   + Sua conta AWS root. Isso não é recomendado. Para obter mais informações, consulte [O usuário raiz da conta](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html) no *Guia do usuário do *.
   + Um usuário administrador em sua AWS conta. Para obter mais informações, consulte [Como criar seu primeiro usuário e grupo Conta da AWS raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) no *Guia do usuário*.
   + Um usuário em sua AWS conta com permissão para realizar o seguinte conjunto mínimo de ações:

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. Abra o CodePipeline console em [https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. No seletor de AWS região, escolha a AWS região em que seu funil está localizado. Essa deve ser uma AWS região CodeBuild com suporte. Para ter mais informações, consulte [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) no *Referência geral da Amazon Web Services*.

1. Na página **Pipelines**, selecione o nome do pipeline.

1. Na página de detalhes do pipeline, na ação **Source (Origem)**, selecione a dica de ferramenta. Anote o valor do **artefato de saída** (por exemplo, **MyApp**).
**nota**  
Este procedimento mostra como adicionar uma ação de teste em um estágio de teste entre os estágios **Source (Origem)** e **Beta (Beta)**. Se desejar adicionar a ação de teste em outro local, aponte o mouse na ação próxima e anote o valor para **Output artifact**.

1. Escolha **Editar**.

1. Imediatamente depois do estágio **Source (Origem)**, selecione **Add stage (Adicionar estágio)**.
**nota**  
Este procedimento também mostra como adicionar um estágio de teste imediatamente após o estágio **Source (Origem)** do pipeline. Para adicionar uma ação de teste a um estágio existente, selecione **Edit stage (Editar estágio)** no estágio e avance para a etapa 8 deste procedimento. Para adicionar o estágio de teste em outro local, selecione **Add stage (Adicionar estágio)** no local desejado.  
![\[Como adicionar um estágio de teste imediatamente após o estágio Origem do pipeline.\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/images/create-stage.png)

   

1. Em **Stage name (Nome do estágio)**, insira o nome do estágio de teste (por exemplo, **Test**). Se escolher um nome diferente, use-o nas etapas deste procedimento.

1. No estágio selecionado, selecione **\$1 Add action (\$1 Adicionar ação)**.
**nota**  
Este procedimento mostra como adicionar uma ação de teste em um estágio de teste. Para adicionar a ação de teste em outro local, selecione **Add action (Adicionar ação)** no local desejado. Você pode precisar selecionar primeiro **Edit (Editar)** no estágio existente onde deseja adicionar a ação de teste.

1. Em **Edit action (Editar ação)**, em **Action name (Nome da ação)**, insira um nome para a ação (por exemplo, **Test**). Se escolher um nome diferente, use-o nas etapas deste procedimento.

1. Em **Action provider (Provedor de ação)**, em **Test (Teste)** escolha **CodeBuild**.

1. Se você já tiver um projeto de compilação que deseja usar, em **Nome do projeto**, escolha o nome do projeto de compilação e avance para a próxima etapa deste procedimento.

   Se você precisar criar um novo projeto de CodeBuild compilação, siga as instruções [Criar um projeto de compilação (console)](create-project.md#create-project-console) e retorne a esse procedimento.
**Importante**  
Se você habilitar webhooks para um CodeBuild projeto e o projeto for usado como uma etapa de compilação CodePipeline, duas compilações idênticas serão criadas para cada confirmação. Uma compilação é acionada por meio de webhooks e outra por meio do CodePipeline. Como o faturamento é por compilação, você é cobrado por ambas as compilações. Portanto, se você estiver usando CodePipeline, recomendamos que você desative os webhooks em. CodeBuild No CodeBuild console, desmarque a caixa do **Webhook**. Para obter mais informações, consulte [Alterar configurações de um projeto de compilação (console)](change-project.md#change-project-console).

1. Em **Input artifacts (Artefatos de entrada)**, selecione o valor de **Output artifact (Artefato de saída)** que você anotou anteriormente neste procedimento.

1. (Opcional) Se quiser que a ação de teste produza um artefato de saída e você tiver configurado a buildspec adequadamente, em **Output artifact (Artefato de saída)**, insira o valor que deseja atribuir ao artefato de saída.

1. Escolha **Salvar**.

1. Selecione **Release change**.

1. Depois de o pipeline ser executado com sucesso, você pode obter os resultados do teste. No estágio de **teste** do pipeline, escolha o **CodeBuild**hiperlink para abrir a página do projeto de construção relacionado no CodeBuild console.

   

1. Na página de projeto de compilação, na área **Build history (Histórico da compilação)**, selecione o hyperlink **Build run (Execução de compilação)** relacionado.

1. Na página de execução da compilação, em **Registros de compilação**, escolha o hiperlink **Exibir registro inteiro** para abrir o registro de compilação no CloudWatch console da Amazon.

1. Observe os resultados do teste no log de build.