

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

# Execute AWS CodeBuild compilações manualmente
<a name="run-build"></a>

Você pode usar o AWS CodeBuild console, AWS CLI, ou AWS SDKs para executar uma compilação CodeBuild.

**Topics**
+ [Execute compilações localmente com o agente AWS CodeBuild](use-codebuild-agent.md)
+ [Executar uma compilação (console)](run-build-console.md)
+ [Executar uma compilação (AWS CLI)](run-build-cli.md)
+ [Executar uma compilação em lote (AWS CLI)](run-batch-build-cli.md)
+ [Começar a executar compilações automaticamente (AWS CLI)](run-build-cli-auto-start.md)
+ [Parar de executar compilações automaticamente (AWS CLI)](run-build-cli-auto-stop.md)
+ [Executar uma compilação (AWS SDKs)](run-build-sdks.md)

# Execute compilações localmente com o agente AWS CodeBuild
<a name="use-codebuild-agent"></a>

Você pode usar o AWS CodeBuild agente para executar CodeBuild compilações em uma máquina local. Há agentes disponíveis para plataformas x86\$164 e ARM.

Também é possível assinar para receber notificações quando novas versões do agente são publicadas. 

## Pré-requisitos
<a name="use-codebuild-agent.prerequisites"></a>

Antes de começar, será necessário fazer o seguinte:
+ Instale o Git na sua máquina local.
+ Instale e configure o [Docker](https://www.docker.com/) na máquina local.

## Configurar a imagem de compilação
<a name="use-codebuild-agent.setup-image"></a>

Basta configurar a imagem de compilação na primeira vez em que executar o agente ou quando a imagem for alterada.

**Como configurar a imagem de compilação**

1. [Se quiser usar uma imagem curada do Amazon Linux 2, você pode extraí-la do repositório CodeBuild público do Amazon ECR em https://gallery.ecr. aws/codebuild/amazonlinux-x86\$164-standard](https://gallery.ecr.aws/codebuild/amazonlinux-x86_64-standard) com o seguinte comando:

   ```
   $ docker pull public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0
   ```

   Como alternativa, se você deseja usar outra imagem do Linux, execute as seguintes etapas:

   1. Clone o repositório CodeBuild de imagens:

      ```
      $ git clone https://github.com/aws/aws-codebuild-docker-images.git
      ```

   1. Mude para o diretório de imagens. Para este exemplo, use a imagem `aws/codebuild/standard:5.0`:

      ```
      $ cd aws-codebuild-docker-images/ubuntu/standard/5.0
      ```

   1. Crie a imagem. Isso levará vários minutos. 

      ```
      $ docker build -t aws/codebuild/standard:5.0 .
      ```

1. Baixe o CodeBuild agente.

   Para baixar a versão x86\$164 do agente, execute o seguinte comando:

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:latest
   ```

   Para baixar a versão ARM do agente, execute o seguinte comando:

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:aarch64
   ```

1. <a name="codebuild-agent-sha"></a>O CodeBuild agente está disponível em [https://gallery.ecr. aws/codebuild/local-constrói](https://gallery.ecr.aws/codebuild/local-builds). 

   A assinatura do Secure Hash Algorithm (SHA) para a versão x86\$164 do agente é:

   ```
   sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940
   ```

   A assinatura SHA para a versão ARM do agente é:

   ```
   sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192
   ```

   É possível usar o SHA para identificar a versão do agente. Para ver a assinatura SHA do agente, execute o seguinte comando e procure o SHA em `RepoDigests`: 

   ```
   $ docker inspect public.ecr.aws/codebuild/local-builds:latest
   ```

## Execute o CodeBuild agente
<a name="use-codebuild-agent.run-agent"></a>

**Para executar o CodeBuild agente**

1. Mude para o diretório que contém a fonte do projeto de compilação.

1. Baixe o script [codebuild\$1build.sh](https://github.com/aws/aws-codebuild-docker-images/blob/master/local_builds/codebuild_build.sh).

   ```
   $ curl -O  https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_build.sh
   $ chmod +x codebuild_build.sh
   ```

1. Execute o script `codebuild_build.sh` e especifique as imagens de contêiner e o diretório de saída:

   Para executar uma compilação x86\$164, execute o seguinte comando:

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory>
   ```

   Para executar uma compilação ARM, execute o seguinte comando:

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory> -l public.ecr.aws/codebuild/local-builds:aarch64
   ```

   *<container-image>*Substitua pelo nome da imagem do contêiner, como `aws/codebuild/standard:5.0` ou`public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0`.

   O script inicia a imagem de compilação e executa a compilação no projeto no diretório atual. Para especificar a localização do projeto de compilação, adicione a opção `-s <build project directory>` ao comando script.

## Receba notificações sobre novas versões do CodeBuild agente
<a name="receive-codebuild-agent-notifications"></a>

Você pode assinar as notificações do Amazon SNS para ser notificado quando novas versões do AWS CodeBuild agente forem lançadas. 

**Para assinar as notificações CodeBuild do agente**

1. [Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/ v3/home.](https://console.aws.amazon.com/sns/v3/home) 

1. Na barra de navegação, se ainda não estiver selecionada, altere a AWS região para **Leste dos EUA (Norte da Virgínia)**. Você deve selecionar essa AWS região porque as notificações do Amazon SNS que você está assinando são criadas nessa região. 

1. No painel de navegação, escolha ** Subscriptions**. 

1. Selecione **Create subscription**. 

1. Em **Criar inscrição**, faça o seguinte: 

   1. Para **Topic ARN** (ARN do tópico), use o seguinte nome do recurso da Amazon (ARN): 

      ```
      arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
      ```

   1. Em **Protocolo**, escolha **Email** ou **SMS**. 

   1. Em **Endpoint**, escolha onde deseja receber as notificações (e-mail ou SMS). Digite um e-mail, um endereço ou número de telefone, incluindo o código de área. 

   1. Selecione **Criar assinatura**. 

   1. Se você escolher **E-mail**, receberá um e-mail solicitando que confirme a inscrição. Siga as instruções no e-mail para concluir sua inscrição. 

      Se não deseja mais receber essas notificações, use o procedimento a seguir para cancelar a assinatura. 

**Para cancelar a assinatura das notificações do CodeBuild agente**

1. [Abra o console do Amazon SNS em https://console.aws.amazon.com/sns/ v3/home.](https://console.aws.amazon.com/sns/v3/home) 

1. No painel de navegação, escolha **Assinaturas**. 

1. Selecione a assinatura e, em **Actions (Ações)**, escolha **Delete subscriptions (Excluir assinaturas)**. Quando for solicitada sua confirmação, escolha **Delete**. 

# Executar uma compilação (console)
<a name="run-build-console"></a>

Para usar o AWS CodePipeline para executar uma compilação com o CodeBuild, ignore estas etapas e siga as instruções em [Use CodeBuild com CodePipeline](how-to-create-pipeline.md).

1. Abra o console do AWS CodeBuild em [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. No painel de navegação, selecione **Projetos de compilação**.

1. Na lista de projetos de compilação, selecione o projeto de compilação.

1. É possível executar a compilação com as configurações padrão do projeto de compilação ou substituí-las somente para essa compilação.

   1. Se você quiser executar a compilação com as configurações padrão do projeto de compilação, escolha **Iniciar compilação**. A compilação é iniciada imediatamente.

   1. Se quiser substituir as configurações padrão do projeto de compilação, escolha **Iniciar compilação com substituições**. Na página **Iniciar compilação**, é possível substituir o seguinte:
      + **Configuração de compilação**
      + **Fonte**
      + **Substituições de variáveis de ambiente**

      Se precisar selecionar substituições mais avançadas, escolha **Substituições avançadas de compilações**. Nessa página, é possível substituir o seguinte:
      + **Configuração de compilação**
      + **Fonte**
      + **Environment**
      + **Buildspec**
      + **Artefatos**
      + **Logs**

      Depois de fazer as seleções de substituição, escolha **Iniciar compilação**.

Para obter informações detalhadas sobre este build, consulte [Visualizar detalhes de compilação (console)](view-build-details.md#view-build-details-console).

# Executar uma compilação (AWS CLI)
<a name="run-build-cli"></a>

**nota**  
Para usar o CodePipeline para executar uma compilação com o AWS CodeBuild, ignore estas etapas e siga as instruções em [Crie um pipeline que use CodeBuild (AWS CLI)](how-to-create-pipeline-cli.md).  
Para obter mais informações sobre como usar o AWS CLI com o CodeBuild, consulte [Referência da linha de comando](cmd-ref.md).

1. Execute o comando `start-build` de uma das seguintes maneiras:

   ```
   aws codebuild start-build --project-name <project-name>
   ```

   Use esta maneira se você quiser executar um build que utiliza a versão mais recente do artefato de entrada de build e as configurações existentes do projeto de build.

   ```
   aws codebuild start-build --generate-cli-skeleton
   ```

   Use esta maneira se quiser executar uma compilação com uma versão anterior do artefato de entrada da compilação ou se quiser substituir as configurações dos artefatos de saída da compilação, as variáveis de ambiente, o buildspec ou o período de tempo limite padrão da compilação.

1. Se você executar o comando **start-build** com a opção `--project-name`, substitua *<project-name>* pelo nome do projeto de compilação e avance para a etapa 6 deste procedimento. Para obter uma lista de projetos de compilação, consulte [Exibir os nomes do projeto de compilação](view-project-list.md).

1. Se você executar o comando **start-build** com a opção `--idempotency-token`, um identificador, ou token, exclusivo que diferencia maiúsculas e minúsculas é incluído na solicitação `start-build`. O token é válido por 5 minutos após a solicitação. Se você repetir a solicitação `start-build` com o mesmo token, mas alterar um parâmetro, o CodeBuild vai gerar um erro de incompatibilidade de parâmetro.

1. Se você executar o comando **start-build** com a opção `--generate-cli-skeleton`, os dados formatados JSON serão exibidos na saída. Copie os dados para um arquivo (por exemplo, `start-build.json`) em um local no computador local ou em uma instância na qual a AWS CLI esteja instalada. Altere os dados copiados para corresponder ao seguinte formato, e salve os resultados:

   ```
   {
     "projectName": "projectName",
     "sourceVersion": "sourceVersion",
     "artifactsOverride": {
       "type": "type",
       "location": "location",
       "path": "path",
       "namespaceType": "namespaceType",
       "name": "artifactsOverride-name",
       "packaging": "packaging"
     },
     "buildspecOverride": "buildspecOverride",
     "cacheOverride": {
       "location": "cacheOverride-location",
       "type": "cacheOverride-type"
     },
     "certificateOverride": "certificateOverride",
     "computeTypeOverride": "computeTypeOverride",
     "environmentTypeOverride": "environmentTypeOverride",
     "environmentVariablesOverride": {
       "name": "environmentVariablesOverride-name",
       "value": "environmentVariablesValue",
       "type": "environmentVariablesOverride-type"
     },
     "gitCloneDepthOverride": "gitCloneDepthOverride",
     "imageOverride": "imageOverride",
     "idempotencyToken": "idempotencyToken",
     "insecureSslOverride": "insecureSslOverride",
     "privilegedModeOverride": "privilegedModeOverride",
     "queuedTimeoutInMinutesOverride": "queuedTimeoutInMinutesOverride",
     "reportBuildStatusOverride": "reportBuildStatusOverride",
     "timeoutInMinutesOverride": "timeoutInMinutesOverride",
     "sourceAuthOverride": "sourceAuthOverride",
     "sourceLocationOverride": "sourceLocationOverride",
     "serviceRoleOverride": "serviceRoleOverride",
     "sourceTypeOverride": "sourceTypeOverride"
   }
   ```

   Substitua os seguintes espaços reservados:
   + *projectName*: String necessária. O nome de projeto de build a ser usado neste build. 
   + *sourceVersion*: String opcional. Uma versão do código-fonte a ser compilado, como se segue:
     + Para o Amazon S3, o ID de versão correspondente à versão do arquivo ZIP de entrada que você quer compilar. Se *sourceVersion* não estiver especificado, a versão mais recente será usada.
     + Para CodeCommit, a ID de confirmação correspondente à versão do código-fonte que você deseja compilar. Se *sourceVersion* não estiver especificado, o ID de confirmação HEAD da ramificação padrão será usado. (Não é possível especificar um nome de tag para *sourceVersion*, mas você pode especificar o ID de confirmação da tag.)
     + Para o GitHub, o ID de confirmação, a solicitação, o nome da ramificação ou o nome da tag que corresponda à versão do código-fonte que você deseja compilar. Caso seja especificado, um ID de solicitação deve usar o formato `pr/pull-request-ID` (por exemplo, `pr/25`). Se um nome de ramificação for especificado, o ID de confirmação HEAD da ramificação será usado. Se *sourceVersion* não estiver especificado, o ID de confirmação HEAD da ramificação padrão será usado. 
     + Para o Bitbucket, o ID de confirmação, o nome da ramificação ou o nome da tag que corresponda à versão do código-fonte que você deseja compilar. Se um nome de ramificação for especificado, o ID de confirmação HEAD da ramificação será usado. Se *sourceVersion* não estiver especificado, o ID de confirmação HEAD da ramificação padrão será usado. 
   + Os seguintes espaços reservados são para: `artifactsOverride`.
     + *type*: opcional. O tipo de artefato de saída de build que sobrescreve neste build aquele definido no projeto de build.
     + *location*: opcional. O local de artefato de saída de build que sobrescreve neste build aquele definido no projeto de build.
     + *path*: opcional. O caminho de artefato de saída de build que sobrescreve neste build aquele definido no projeto de build.
     + *namespaceType*: opcional. O tipo de caminho de artefato de saída de build que sobrescreve neste build aquele definido no projeto de build.
     + *name*: opcional. O nome de artefato de saída de build que sobrescreve neste build aquele definido no projeto de build.
     + *packaging*: opcional. O tipo de empacotamento de artefato de saída de build que sobrescreve neste build aquele definido no projeto de build.
   + *buildspecOverride*: opcional. Uma declaração de buildspec que sobrescreve para esta compilação aquela definida no projeto de compilação. Se estiver definido, esse valor poderá ser uma definição de buildspec em linha ou o caminho para um arquivo buildspec alternativo relativo ao valor da variável de ambiente `CODEBUILD_SRC_DIR` interna ou o caminho para um bucket do S3. O bucket do S3 deve estar na mesma região da AWS que o projeto de compilação. Especifique o arquivo buildspec usando seu ARN (por exemplo, `arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml`). Se esse valor não for fornecido ou for definido como uma string vazia, o código-fonte deverá conter um arquivo `buildspec.yml` em seu diretório raiz. Para obter mais informações, consulte [Nome do arquivo buildspec e local de armazenamento](build-spec-ref.md#build-spec-ref-name-storage).
   + Os seguintes espaços reservados são para: `cacheOverride`.
     + *cacheOverride-location*: opcional. O local de um objeto `ProjectCache` desta compilação que substitui o objeto `ProjectCache` especificado no projeto de compilação. `cacheOverride` é opcional e utiliza um objeto `ProjectCache`. `location` é necessário em um objeto `ProjectCache`.
     + *cacheOverride-type*: opcional. O tipo de um objeto `ProjectCache` desta compilação que substitui o objeto `ProjectCache` especificado no projeto de compilação. `cacheOverride` é opcional e utiliza um objeto `ProjectCache`. `type` é necessário em um objeto `ProjectCache`.
   + *certificateOverride*: opcional. O nome de um certificado para esse build que substitui o especificado no projeto de build.
   + *environmentTypeOverride*: opcional. Um tipo de contêiner para esse build que substitui o especificado no projeto de build. A string atual válida é `LINUX_CONTAINER`.
   + Os seguintes espaços reservados são para: `environmentVariablesOverride`.
     + *environmentVariablesOverride-name*: opcional. O nome de uma variável de ambiente no projeto de build, cujo valor você deseja sobrescrever para este build.
     + *environmentVariablesOverride-type*: opcional. O tipo de variável de ambiente no projeto de compilação cujo valor você deseja substituir para essa compilação.
     + *environmentVariablesValue*: opcional. O valor da variável de ambiente definida no projeto de compilação que você deseja substituir para essa compilação.
   + *gitCloneDepthOverride*: opcional. O valor de **Git clone depth** no projeto de compilação que você deseja substituir para esta compilação. Se o tipo de origem é o Amazon S3, esse valor não é compatível.
   + *imageOverride*: opcional. O nome de uma imagem para esse build que substitui o especificado no projeto de build.
   + *idempotencyToken*: opcional. Uma string que serve como token para especificar que a solicitação de build é idempotente. Você pode escolher qualquer string com 64 caracteres ou menos. O token é válido por 5 minutos após a solicitação start-build. Se você repetir a solicitação start-build com o mesmo token, mas alterar um parâmetro, o CodeBuild vai gerar um erro de incompatibilidade de parâmetro. 
   + *insecureSslOverride*: booleano opcional que especifica substituir ou não a configuração de TLS insegura especificada no projeto de compilação. A configuração de TLS insegura determina ignorar ou não avisos do TLS ao conectar-se ao código-fonte do projeto. Essa substituição se aplica somente se a origem do build for GitHub Enterprise Server.
   + *privilegedModeOverride*: booleano opcional. Se definido como verdadeiro, o build substitui o modo privilegiado no projeto de build.
   +  *queuedTimeoutInMinutesOverride*: número inteiro opcional que especifica o número de minutos pelos quais uma compilação tem permissão para ser colocada em fila antes de atingir o tempo limite. O valor mínimo é de cinco minutos e o valor máximo é 480 minutos (oito horas). 
   + *reportBuildStatusOverride*: valor booliano opcional que especifica o envio dos status inicial e final de uma compilação ao seu provedor de origem. Se você definir esse valor com um provedor de origem que não seja o GitHub, GitHub Enterprise Server ou o Bitbucket, uma invalidInputException será lançada.
   + *sourceAuthOverride*: string opcional. Um tipo de autorização para este build que sobrescreve a definida no projeto build. Essa substituição se aplica somente se a origem do projeto de compilação for Bitbucket ou GitHub.
   + *sourceLocationOverride*: string opcional. Um local que sobrescreve neste build o local de origem definido no projeto de build.
   + *serviceRoleOverride*: string opcional. O nome de uma função de serviço para esse build que substitui o especificado no projeto de build.
   + *sourceTypeOverride*: string opcional. Um tipo de origem neste build que sobrescreve a origem definida no projeto de build. As strings válidas são `NO_SOURCE`, `CODECOMMIT`, `CODEPIPELINE`, `GITHUB`, `S3`, `BITBUCKET`, e `GITHUB_ENTERPRISE`.
   + *timeoutInMinutesOverride*: Número opcional. O número de minutos de tempo limite do build que sobrescreve para este build aquele definido no projeto de build. 

   Recomendamos armazenar uma variável de ambiente com um valor confidencial, como um ID de chave de acesso da AWS, uma chave de acesso secreta da AWS ou uma senha como um parâmetro no Amazon EC2 Systems Manager Parameter Store. O CodeBuild poderá usar um parâmetro armazenado no Amazon EC2 Systems Manager Parameter Store apenas se o nome do parâmetro começar com `/CodeBuild/` (por exemplo, `/CodeBuild/dockerLoginPassword`). É possível usar o console do CodeBuild para criar um parâmetro no Amazon EC2 Systems Manager. Escolha **Create a parameter (Criar um parâmetro)** e siga as instruções. (Nessa caixa de diálogo, em **Chave do KMS**, é possível especificar o ARN de uma chave do AWS KMS na conta. O Amazon EC2 Systems Manager usa essa chave para criptografar o valor do parâmetro durante o armazenamento e descriptografá-lo durante a recuperação.) Se você usar o console do CodeBuild para criar um parâmetro, o console começará o nome do parâmetro com `/CodeBuild/`, pois ele está sendo armazenado. No entanto, se você usar o console do Amazon EC2 Systems Manager Parameter Store para criar um parâmetro, deverá iniciar o nome do parâmetro com `/CodeBuild/` e definir **Tipo** como **String segura**. Para obter mais informações, consulte [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) e [Walkthrough: Create and test a String parameter (console)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-console.html) no *Guia do usuário do Amazon EC2 Systems Manager*.

   Se o projeto de compilação se referir a parâmetros armazenados no Amazon EC2 Systems Manager Parameter Store, o perfil de serviço do projeto de compilação deverá permitir a ação `ssm:GetParameters`. Se você tiver escolhido **Criar um perfil de serviço na conta** antes, o CodeBuild incluirá essa ação no perfil de serviço padrão para o projeto de compilação automaticamente. No entanto, se escolher **Choose an existing service role from your account**, você deverá incluir essa ação na função de serviço separadamente.

   As variáveis de ambiente definidas por você substituem variáveis de ambiente existentes. Por exemplo, se a imagem de Docker já contiver uma variável de ambiente chamada `MY_VAR` com um valor de `my_value` e você definir uma variável de ambiente chamada `MY_VAR` com um valor de `other_value`, `my_value` será substituído por `other_value`. Da mesma maneira, se a imagem de Docker já contiver uma variável de ambiente chamada `PATH` com um valor de `/usr/local/sbin:/usr/local/bin` e você definir uma variável de ambiente chamada `PATH` com um valor de `$PATH:/usr/share/ant/bin`, `/usr/local/sbin:/usr/local/bin` será substituído pelo valor literal `$PATH:/usr/share/ant/bin`. 

   Não defina nenhuma variável de ambiente com um nome que comece com `CODEBUILD_`. Este prefixo está reservado para uso interno.

   Se uma variável de ambiente com o mesmo nome for definida em vários locais, o valor da variável de ambiente será determinado como se segue:
   + O valor na chamada de operação de início de build tem a maior prioridade.
   + O valor na definição de projeto de build tem a precedência seguinte.
   + O valor na declaração do arquivo buildspec tem a menor prioridade.

   Para obter informações sobre valores válidos para esses espaços reservados, consulte [Crie um projeto de compilação (AWS CLI)](create-project.md#create-project-cli). Para obter uma lista das últimas configurações de um projeto de compilação, consulte [Exibir os detalhes do projeto de compilação](view-project-details.md).

1. Alterne para o diretório que contenha o arquivo que você acabou de salvar e execute o comando `start-build` novamente.

   ```
   aws codebuild start-build --cli-input-json file://start-build.json
   ```

1. Se bem-sucedidos, dados semelhantes aos descritos no procedimento [Para executar a compilação](getting-started-overview.md#getting-started-run-build-cli) serão exibidos na saída.

Para trabalhar com informações detalhadas sobre este build, anote o valor `id` da saída e consulte [Visualizar detalhes de compilação (AWS CLI)](view-build-details.md#view-build-details-cli).

# Executar uma compilação em lote (AWS CLI)
<a name="run-batch-build-cli"></a>

1. Execute o comando `start-build-batch` de uma das seguintes maneiras:

   ```
   aws codebuild start-build-batch --project-name <project-name>
   ```

   Use esta maneira se você quiser executar um build que utiliza a versão mais recente do artefato de entrada de build e as configurações existentes do projeto de build.

   ```
   aws codebuild start-build-batch --generate-cli-skeleton > <json-file>
   ```

   Use esta maneira se quiser executar uma compilação com uma versão anterior do artefato de entrada da compilação ou se quiser substituir as configurações dos artefatos de saída da compilação, as variáveis de ambiente, o buildspec ou o período de tempo limite padrão da compilação.

1. Se você executar o comando **start-build-batch** com a opção `--project-name`, substitua *<project-name>* pelo nome do projeto de compilação e avance para a etapa 6 deste procedimento. Para obter uma lista de projetos de compilação, consulte [Exibir os nomes do projeto de compilação](view-project-list.md).

1. Se você executar o comando **start-build-batch** com a opção `--idempotency-token`, um identificador, ou um token, exclusivo que diferencia maiúsculas e minúsculas será incluído na solicitação `start-build-batch`. O token é válido por 5 minutos após a solicitação. Se você repetir a solicitação `start-build-batch` com o mesmo token, mas alterar um parâmetro, o CodeBuild vai gerar um erro de incompatibilidade de parâmetro.

1. Se você executar o comando **start-build-batch** com a opção `--generate-cli-skeleton`, os dados formatados em JSON serão exibidos na saída do arquivo *<json-file>*. Esse arquivo é semelhante ao esqueleto produzido pelo comando **start-build**, com a adição do objeto a seguir. Para obter mais informações sobre os objetos comuns, consulte [Executar uma compilação (AWS CLI)](run-build-cli.md).

   Modifique esse arquivo para adicionar qualquer substituição de compilação e salve os resultados.

   ```
     "buildBatchConfigOverride": {
       "combineArtifacts": combineArtifacts,
       "restrictions": {
         "computeTypesAllowed": [
           allowedComputeTypes
         ],
         "maximumBuildsAllowed": maximumBuildsAllowed
       },
       "serviceRole": "batchServiceRole",
       "timeoutInMins": batchTimeout
     }
   ```

   O objeto `buildBatchConfigOverride` é uma estrutura [ProjectBuildBatchConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectBuildBatchConfig.html) que contém as informações de configuração de compilação em lote dessa compilação.  
*combineArtifacts*  
Um valor booliano que especifica se os artefatos da compilação em lote devem ser combinados em um único local de artefato.  
*allowedComputeTypes*  
Uma matriz de strings que especificam os tipos de computação que são permitidos para a compilação em lote. Consulte [Build environment compute types](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) para obter esses valores.   
*maximumBuildsAllowed*  
Especifica o número máximo de criações permitidas.  
*batchServiceRole*  
Especifica o ARN da função de serviço para o projeto de compilação em lote.  
*batchTimeout*  
Especifica a quantidade máxima de tempo, em minutos, em que a compilação em lote deve ser concluída.

1. Alterne para o diretório que contenha o arquivo que você acabou de salvar e execute o comando `start-build-batch` novamente.

   ```
   aws codebuild start-build-batch --cli-input-json file://start-build.json
   ```

1. Se for bem-sucedida, a representação JSON de um objeto [BuildBatch](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_BuildBatch.html) será exibida na saída do console. Consulte a [Sintaxe de resposta StartBuildBatch](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuildBatch.html#API_StartBuildBatch_ResponseSyntax) para ver um exemplo desses dados.

# Começar a executar compilações automaticamente (AWS CLI)
<a name="run-build-cli-auto-start"></a>

Se seu código-fonte estiver armazenado em um repositório GitHub ou em um repositório do GitHub Enterprise Server, você poderá usar GitHub webhooks para AWS CodeBuild reconstruir seu código-fonte sempre que uma alteração de código for enviada para o repositório.

Execute o comando **create-webhook**, como se segue:

```
aws codebuild create-webhook --project-name <project-name>
```

*<project-name>*é o nome do projeto de construção que contém o código-fonte a ser reconstruído.

Pois GitHub, informações semelhantes às seguintes aparecem na saída:

```
{
  "webhook": {
    "url": "<url>"
  }
}
```

*<url>*é a URL do GitHub webhook.

Para o GitHub Enterprise Server, informações semelhantes às seguintes aparecem na saída:

![\[Exemplo de informações de saída.\]](http://docs.aws.amazon.com/pt_br/codebuild/latest/userguide/images/create-webhook-ghe.png)


1. Copie a chave secreta e a URL da carga da saída. Você precisa que eles adicionem um webhook no GitHub Enterprise Server. 

1. No GitHub Enterprise Server, escolha o repositório em que seu CodeBuild projeto está armazenado. Escolha **Configurações**, escolha **Hooks e serviços**, e depois escolha **Adicionar Webhook**. 

1. Insira a URL da carga útil e a chave secreta, aceite os valores padrão para os outros campos e, em seguida, escolha **Adicionar webhook**.

# Parar de executar compilações automaticamente (AWS CLI)
<a name="run-build-cli-auto-stop"></a>

Se seu código-fonte estiver armazenado em um repositório GitHub ou em um repositório do GitHub Enterprise Server, você poderá configurar GitHub webhooks para AWS CodeBuild reconstruir seu código-fonte sempre que uma alteração de código for enviada para o repositório. Para obter mais informações, consulte [Começar a executar compilações automaticamente (AWS CLI)](run-build-cli-auto-start.md).

Se tiver habilitado esse comportamento, você poderá desativá-lo executando o comando `delete-webhook` da seguinte maneira:

```
aws codebuild delete-webhook --project-name <project-name>
```
+ onde *<project-name>* é o nome do projeto de construção que contém o código-fonte a ser reconstruído.

Se esse comando for bem-sucedido, nenhuma informação e nenhum dado será exibido na saída.

**nota**  
Isso exclui o webhook somente do seu CodeBuild projeto. Você também deve excluir o webhook do seu repositório GitHub ou do GitHub Enterprise Server.

# Executar uma compilação (AWS SDKs)
<a name="run-build-sdks"></a>

Para usar CodePipeline para executar uma compilação com AWS CodeBuild, pule essas etapas e siga as instruções em [Use AWS CodeBuild with AWS CodePipeline para testar o código e executar compilações](how-to-create-pipeline.md) vez disso.

Para obter informações sobre como usar CodeBuild com o AWS SDKs, consulte [AWS SDKs e referência de ferramentas](sdk-ref.md) o.