

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 a amostra “Solicitação de pull e filtro de webhook do Bitbucket” para CodeBuild
<a name="sample-bitbucket-pull-request"></a>

AWS CodeBuild suporta webhooks quando o repositório de origem é o Bitbucket. Isso significa que, para um projeto de CodeBuild compilação que tem seu código-fonte armazenado em um repositório do Bitbucket, os webhooks podem ser usados para reconstruir o código-fonte toda vez que uma alteração de código é enviada para o repositório. Para obter mais informações, consulte [Filtrar eventos de webhook do Bitbucket](bitbucket-webhook.md). 

Este exemplo mostra como criar uma solicitação usando um repositório do Bitbucket. Também mostra como usar um webhook do Bitbucket para acionar CodeBuild a criação de uma compilação de um projeto.

**nota**  
Ao usar webhooks, é possível que um usuário acione uma compilação inesperada. Para atenuar esse risco, consulte [Práticas recomendadas para usar webhooks](webhooks.md#webhook-best-practices).

**Topics**
+ [Pré-requisitos](#sample-bitbucket-pull-request-prerequisites)
+ [Etapa 1: criar um projeto de compilação com o Bitbucket e habilitar os webhooks](#sample-bitbucket-pull-request-create)
+ [Etapa 2: acionar uma compilação com um webhook do Bitbucket](#sample-bitbucket-pull-request-trigger)

## Pré-requisitos
<a name="sample-bitbucket-pull-request-prerequisites"></a>

 Para executar essa amostra, você deve conectar seu AWS CodeBuild projeto à sua conta do Bitbucket. 

**nota**  
 CodeBuild atualizou suas permissões com o Bitbucket. Se você conectou seu projeto anteriormente ao Bitbucket e agora recebe um erro de conexão do Bitbucket, você deve se reconectar para conceder CodeBuild permissão para gerenciar seus webhooks. 

## Etapa 1: criar um projeto de compilação com o Bitbucket e habilitar os webhooks
<a name="sample-bitbucket-pull-request-create"></a>

 As etapas a seguir descrevem como criar um AWS CodeBuild projeto com o Bitbucket como repositório de origem e habilitar webhooks. 

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

1.  Se uma página de CodeBuild informações for exibida, escolha **Criar projeto de construção**. Caso contrário, no painel de navegação, expanda **Compilar**, escolha **Projetos de compilação** e, depois, **Criar projeto de compilação**. 

1. Selecione **Create build project (Criar projeto de compilação)**. 

1. Em **Configuração de projetos**:  
**Nome do projeto**  
Insira um nome para esse projeto de compilação. Os nomes dos projetos de criação devem ser exclusivos em cada AWS conta. Também é possível incluir uma descrição opcional do projeto de compilação para ajudar outros usuários a entender para que esse projeto é usado.

1. Em **Origem**:  
**Provedor de origem**  
Selecione **Bitbucket**. Siga as instruções para se conectar (ou se reconectar) ao Bitbucket e depois escolha **Autorizar**.  
**Repositório**  
Escolha **Repositório em minha conta Bitbucket**.  
Se você ainda não se conectou à conta do Bitbucket, insira o nome de usuário e senha do aplicativo do Bitbucket e selecione **Salvar credenciais do Bitbucket**.  
**Repositório do Bitbucket**  
Insira o URL do repositório do Bitbucket.

1. Em **Eventos de webhook da origem principal**, selecione o seguinte. 
**nota**  
A seção **Eventos de webhook da origem principal** só estará visível se você escolheu **Repositório em minha conta Bitbucket** na etapa anterior.

   1. Selecione **Rebuild every time a code change is pushed to this repository (Recompilar toda vez que uma alteração de código for enviada para este repositório)** ao criar seu projeto. 

   1. Em **Event type (Tipo de evento)**, escolha um ou mais eventos. 

   1. Para filtrar quando um evento aciona uma compilação, em **Start a build under these conditions (Iniciar uma compilação sob estas condições)**, adicione um ou mais filtros opcionais. 

   1. Para filtrar quando um evento não é acionado, em **Don't start a build under these conditions (Não iniciar uma compilação sob estas condições)**, adicione um ou mais filtros opcionais. 

   1. Escolha **Adicionar grupo de filtros** para adicionar outro grupo de filtros, se necessário. 

   Para obter mais informações sobre os tipos e os filtros de eventos de webhook do Bitbucket, consulte [Filtrar eventos de webhook do Bitbucket](bitbucket-webhook.md).

1. Em **Ambiente**:  
**Imagem do ambiente**  
Escolha uma das seguintes opções:    
Para usar uma imagem do Docker gerenciada por: AWS CodeBuild  
Selecione **Imagem gerenciada** e, depois, faça as seleções em **Sistema operacional**, **Runtime(s)**, **Imagem** e **Versão da imagem**. Faça uma seleção em **Environment type (Tipo de ambiente)** se estiver disponível.  
Para usar outra imagem do Docker:  
Selecione **Imagem personalizada**. Em **Tipo de ambiente**, selecione **ARM**, **Linux**, **Linux GPU** ou **Windows**. Se você selecionar **Other registry (Outro registro)**, em **External registry URL (URL de registro externo)**, insira o nome e a tag da imagem do Docker no Docker Hub usando o formato `docker repository/docker image name`. Se você escolher o **Amazon ECR**, use o **repositório Amazon ECR e** a imagem do **Amazon ECR para escolher a imagem** do Docker em sua conta. AWS   
Para usar uma imagem privada do Docker:  
Selecione **Imagem personalizada**. Em **Tipo de ambiente**, selecione **ARM**, **Linux**, **Linux GPU** ou **Windows**. Em **Image registry (Registro da imagem)**, selecione **Other registry (Outro registro)** e insira o ARN das credenciais da imagem privada do Docker. As credenciais devem ser criadas pelo Secrets Manager. Para obter mais informações, consulte [O que é AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) no *Guia do AWS Secrets Manager usuário*.  
**Perfil de serviço**  
Escolha uma das seguintes opções:  
   + Se você não tiver uma função CodeBuild de serviço, escolha **Nova função de serviço**. No campo **Role name**, digite o nome da nova função.
   + Se você tiver uma função CodeBuild de serviço, escolha **Função de serviço existente**. Em **ARN do perfil**, escolha o perfil de serviço.
Ao usar o console para criar ou atualizar um projeto de compilação, você pode criar uma função de CodeBuild serviço ao mesmo tempo. Por padrão, a função funciona somente com esse projeto de build. Se você usar o console para associar essa função de serviço a outro projeto de compilação, a função será atualizada para funcionar com os outros projetos de compilação. Uma função de serviço pode funcionar com até 10 projetos de compilação.

1. Em **Buildspec**, siga um destes procedimentos:
   + Escolha **Usar um arquivo buildspec** para usar o arquivo buildspec.yml no diretório raiz do código-fonte.
   + Selecione **Inserir comandos de compilação** para usar o console para inserir comandos de compilação.

   Para obter mais informações, consulte o [Referência de buildspec](build-spec-ref.md).

1. Em **Artefatos**:  
**Tipo**  
Escolha uma das seguintes opções:  
   + Se você não quiser criar artefatos de saída de compilação, selecione **Nenhum artefato**.
   + Para armazenar a saída de compilação em um bucket do S3, escolha **Amazon S3** e faça o seguinte:
     + Se você quiser usar o nome do projeto para a pasta ou arquivo ZIP de saída da compilação, deixe **Name (Nome)** em branco. Caso contrário, insira o nome. Por padrão, o nome do artefato é o nome do projeto. Se você quiser usar um nome diferente, insira-o na caixa de nome do artefato. Se você quiser gerar um arquivo ZIP, inclua a extensão zip.
     + Para **Bucket name**, selecione o nome do bucket de saída.
     + Se você tiver escolhido **Inserir comandos de compilação** anteriormente neste procedimento, em **Arquivos de saída**, insira os locais dos arquivos da compilação que deseja incluir na pasta ou no arquivo ZIP de saída da compilação. Para vários locais, separe-os com uma vírgula (por exemplo, `appspec.yml, target/my-app.jar`). Para obter mais informações, consulte a descrição de `files` em [Sintaxe de buildspec](build-spec-ref.md#build-spec-ref-syntax).  
**Configuração adicional**  
Expanda **Configuração adicional** e defina as opções conforme apropriado.

1. Selecione **Create build project (Criar projeto de compilação)**. Na página **Revisão**, escolha **Iniciar compilação** para executar a compilação.

## Etapa 2: acionar uma compilação com um webhook do Bitbucket
<a name="sample-bitbucket-pull-request-trigger"></a>

Para um projeto que usa webhooks do Bitbucket, AWS CodeBuild cria uma compilação quando o repositório do Bitbucket detecta uma alteração no seu código-fonte. 

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

1. No painel de navegação, escolha **Build projects (Projetos de compilação)** e, em seguida, escolha um projeto associado a um repositório de Bitbucket com webhooks. Para obter informações sobre como criar um projeto de webhook do Bitbucket, consulte [Etapa 1: criar um projeto de compilação com o Bitbucket e habilitar os webhooks](#sample-bitbucket-pull-request-create). 

1. Faça algumas alterações no código no repositório do Bitbucket do seu projeto. 

1. Criar uma solicitação em seu repositório do Bitbucket. Para obter mais informações, consulte [Making a pull request](https://www.atlassian.com/git/tutorials/making-a-pull-request). 

1. Na página Webhooks do Bitbucket, escolha **View request (Visualizar solicitação)** para ver uma lista de eventos recentes. 

1. Escolha **Exibir detalhes** para ver detalhes sobre a resposta retornada por CodeBuild. A aparência pode ser semelhante a esta: 

   ```
   "response":"Webhook received and build started: https://us-east-1.console.aws.amazon.com/codebuild/home..."
   "statusCode":200
   ```

1. Navegue até a página de solicitação de Bitbucket para ver o status da compilação. 