

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécutez l'exemple « Bitbucket pull request and webhook filter » pour CodeBuild
<a name="sample-bitbucket-pull-request"></a>

AWS CodeBuild prend en charge les webhooks lorsque le référentiel source est Bitbucket. Cela signifie que pour un projet de CodeBuild compilation dont le code source est stocké dans un dépôt Bitbucket, les webhooks peuvent être utilisés pour reconstruire le code source chaque fois qu'une modification de code est envoyée au référentiel. Pour de plus amples informations, veuillez consulter [Événements du webhook Bitbucket](bitbucket-webhook.md). 

Cet exemple vous montre comment créer une demande d'extraction à l'aide d'un référentiel Bitbucket. Il vous montre également comment utiliser un webhook Bitbucket pour déclencher la création CodeBuild d'une version d'un projet.

**Note**  
Lors de l'utilisation de webhooks, il est possible pour un utilisateur de déclencher une compilation inattendue. Pour atténuer ce risque, voir[Bonnes pratiques d'utilisation des webhooks](webhooks.md#webhook-best-practices).

**Topics**
+ [Conditions préalables](#sample-bitbucket-pull-request-prerequisites)
+ [Étape 1 : créer un projet de build avec Bitbucket et activer les webhooks](#sample-bitbucket-pull-request-create)
+ [Étape 2 : Déclencher un build avec un webhook Bitbucket](#sample-bitbucket-pull-request-trigger)

## Conditions préalables
<a name="sample-bitbucket-pull-request-prerequisites"></a>

 Pour exécuter cet exemple, vous devez connecter votre AWS CodeBuild projet à votre compte Bitbucket. 

**Note**  
 CodeBuild a mis à jour ses autorisations avec Bitbucket. Si vous avez précédemment connecté votre projet à Bitbucket et que vous recevez maintenant une erreur de connexion Bitbucket, vous devez vous reconnecter pour CodeBuild autoriser la gestion de vos webhooks. 

## Étape 1 : créer un projet de build avec Bitbucket et activer les webhooks
<a name="sample-bitbucket-pull-request-create"></a>

 Les étapes suivantes décrivent comment créer un AWS CodeBuild projet avec Bitbucket comme référentiel source et comment activer les webhooks. 

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  Si une page CodeBuild d'informations s'affiche, choisissez **Créer un projet de construction**. Sinon, dans le volet de navigation, développez **Build****, choisissez Build projects**, puis **Create build project**. 

1. Choisissez **Créer un projet de génération**. 

1. Dans **Configuration de projet** :  
**Nom du projet**  
Entrez un nom pour ce projet de construction. Les noms des projets de construction doivent être uniques pour chaque AWS compte. Vous pouvez également inclure une description facultative du projet de construction pour aider les autres utilisateurs à comprendre à quoi sert ce projet.

1. Dans **Source**:  
**Fournisseur de source**  
Choisissez **Bitbucket.** **Suivez les instructions pour vous connecter (ou vous reconnecter) à Bitbucket, puis choisissez Autoriser.**  
**Référentiel**  
Choisissez **Repository dans mon compte Bitbucket.**  
Si vous n'êtes pas encore connecté à votre compte Bitbucket, entrez votre nom d'utilisateur Bitbucket et le mot de passe de l'application, puis sélectionnez **Enregistrer les informations d'identification Bitbucket**.  
**Référentiel Bitbucket**  
Entrez l'URL de votre dépôt Bitbucket.

1. Dans **Événements webhook de la source principale**, sélectionnez ce qui suit. 
**Note**  
La section des **événements du webhook de la source principale** n'est visible que si vous avez choisi **Repository in my Bitbucket account** à l'étape précédente.

   1. Sélectionnez **Rebuild every time a code change is pushed to this repository (Reconstruire à chaque fois qu'une modification de code est transférée dans ce référentiel)** lorsque vous créez votre projet. 

   1. Dans **Event type (Type d'événement)**, choisissez un ou plusieurs événements. 

   1. Pour filtrer le moment où un événement déclenche une génération, sous **Start a build under these conditions (Lancer une génération dans ces conditions)**, ajoutez un ou plusieurs filtres facultatifs. 

   1. Pour filtrer le moment où un événement n'est pas déclenché, sous **Don't start a build under these conditions (Ne pas lancer de génération dans ces conditions)**, ajoutez un ou plusieurs filtres facultatifs. 

   1. Choisissez **Ajouter un groupe de filtres** pour ajouter un autre groupe de filtres, si nécessaire. 

   Pour plus d'informations sur les types d'événements et les filtres Bitbucket Webhook, consultez. [Événements du webhook Bitbucket](bitbucket-webhook.md)

1. Dans **Environment (Environnement)** :  
**Image de l'environnement**  
Sélectionnez l’une des méthodes suivantes :    
Pour utiliser une image Docker gérée par AWS CodeBuild :  
Choisissez **Image gérée**, puis sélectionnez **Système d'exploitation**, **Runtime (s)**, **Image** et **Version de l'image**. Effectuez votre sélection pour **Type d'environnement** si cette option est disponible.  
Pour utiliser une autre image Docker :  
Choisissez **Image personnalisée**. Pour le **type d'environnement**, choisissez **ARM**, **Linux****, Linux GPU** ou **Windows**. Si vous choisissez **Other registry (Autre registre)**, pour **External registry URL (URL du registre externe)**, entrez le nom et la balise de l'image Docker dans Docker Hub au format `docker repository/docker image name`. Si vous choisissez **Amazon ECR**, utilisez le **référentiel Amazon ECR** et l'image **Amazon ECR pour choisir l'image** Docker dans votre compte. AWS   
Pour utiliser une image Docker privée :  
Choisissez **Image personnalisée**. Pour le **type d'environnement**, choisissez **ARM**, **Linux****, Linux GPU** ou **Windows**. Pour **Image registry (Registre de l'image)**, choisissez **Other registry (Autre registre)** et entrez l'ARN des informations d'identification de votre image Docker privée. Les informations d'identification doivent être créées par Secrets Manager. Pour plus d'informations, voir [Qu'est-ce que c'est AWS Secrets Manager ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) dans le *guide de AWS Secrets Manager l'utilisateur*.  
**Rôle de service**  
Sélectionnez l’une des méthodes suivantes :  
   + Si vous n'avez pas de rôle CodeBuild de service, choisissez **Nouveau rôle de service**. Dans **Role name**, entrez un nom pour le nouveau rôle.
   + Si vous avez un rôle CodeBuild de service, choisissez **Rôle de service existant**. Dans **Role ARN**, choisissez le rôle de service.
Lorsque vous utilisez la console pour créer ou mettre à jour un projet de génération, vous pouvez créer un rôle de CodeBuild service en même temps. Par défaut, le rôle fonctionne avec ce projet de génération uniquement. Si vous utilisez la console pour associer ce rôle de service à un autre projet de génération, le rôle est mis à jour pour fonctionner avec l'autre projet de génération. Un rôle de service peut fonctionner avec 10 projets de génération maximum.

1. Dans **Buildspec, effectuez** l'une des opérations suivantes :
   + Choisissez **Utiliser un fichier buildspec pour utiliser le fichier** buildspec.yml dans le répertoire racine du code source.
   + Choisissez **Insérer des commandes** de génération pour utiliser la console pour insérer des commandes de génération.

   Pour de plus amples informations, veuillez consulter [Référence des spécifications de génération](build-spec-ref.md).

1. Dans **Artefacts**:  
**Type**  
Sélectionnez l’une des méthodes suivantes :  
   + Si vous ne souhaitez pas créer d'artefacts de sortie de génération, choisissez **Aucun artefact**.
   + Pour stocker le résultat du build dans un compartiment S3, choisissez **Amazon S3**, puis procédez comme suit :
     + Si vous souhaitez utiliser votre nom de projet pour le dossier ou le fichier ZIP de sortie de génération, ne renseignez pas le champ **Nom**. Sinon, entrez le nom. Par défaut, le nom d'un artefact est le nom du projet. Si vous souhaitez utiliser un autre nom, entrez-le dans la zone Nom des artefacts. Si vous souhaitez générer un fichier ZIP, incluez l'extension zip.
     + Pour **Nom du compartiment**, choisissez le nom du compartiment de sortie.
     + Si vous avez sélectionné **Insérer des commandes de génération** précédemment dans cette procédure, pour **Fichiers de sortie**, saisissez les emplacements des fichiers de la génération que vous souhaitez placer dans le dossier ou le fichier ZIP de sortie de génération. Pour plusieurs emplacements, séparez ceux-ci avec une virgule (par exemple, `appspec.yml, target/my-app.jar`). Pour de plus amples informations, consultez la description de `files` dans [Syntaxe d'un fichier buildspec](build-spec-ref.md#build-spec-ref-syntax).  
**Configuration supplémentaire**  
Développez **Additional configuration (Configuration supplémentaire)** et définissez les options dont vous avez besoin.

1. Choisissez **Créer un projet de génération**. Sur la page **Révision**, choisissez **Démarrer la génération** pour exécuter la génération.

## Étape 2 : Déclencher un build avec un webhook Bitbucket
<a name="sample-bitbucket-pull-request-trigger"></a>

Pour un projet qui utilise des webhooks Bitbucket, AWS CodeBuild crée une version lorsque le référentiel Bitbucket détecte une modification dans votre code source. 

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Dans le volet de navigation, choisissez **Projets de génération**, puis sélectionnez un projet associés à un référentiel Bitbucket avec webhooks. Pour plus d'informations sur la création d'un projet Webhook Bitbucket, consultez. [Étape 1 : créer un projet de build avec Bitbucket et activer les webhooks](#sample-bitbucket-pull-request-create) 

1. Modifiez le code du référentiel Bitbucket de votre projet. 

1. Créez une demande d'extraction sur votre référentiel Bitbucket. Pour de plus amples informations, veuillez consulter des informations sur la [création d'une demande d'extraction](https://www.atlassian.com/git/tutorials/making-a-pull-request). 

1. Dans la page des webhooks Bitbucket, choisissez **View request (Afficher la demande)** pour afficher la liste des événements récents. 

1. Choisissez **Afficher les détails** pour voir les détails de la réponse renvoyée par CodeBuild. Elle peut ressembler à ceci : 

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

1. Accédez à la page de demande d'extraction Bitbucket pour voir le statut de la génération. 