Exécutez l'exemple « Bitbucket pull request and webhook filter » pour CodeBuild - AWS CodeBuild

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

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.

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, voirBonnes pratiques d'utilisation des webhooks.

Prérequis

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

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.

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

  3. Choisissez Créer un projet de génération.

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

  5. 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 le URL pour votre dépôt Bitbucket.

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

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

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

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

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

  7. 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 Type d'environnement ARM, choisissez LinuxGPU, Linux ou Windows. Si vous choisissez Autre registre, pour Registre externe URL, entrez le nom et le tag de l'image Docker dans Docker Hub, en utilisant le format. docker repository/docker image name Si vous choisissez Amazon ECR, utilisez le ECRréférentiel Amazon et ECRl'image Amazon pour choisir l'image Docker dans votre AWS compte.

    Pour utiliser une image Docker privée :

    Choisissez Image personnalisée. Pour Type d'environnement ARM, choisissez LinuxGPU, Linux ou Windows. Pour le registre d'images, choisissez Autre registre, puis entrez les informations ARN 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 ? 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 Rôle ARN, choisissez le rôle de service.

    Note

    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.

  8. 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 plus d’informations, consultez le Référence des spécifications de génération.

  9. 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 le nom de votre projet pour le ZIP fichier ou le dossier de sortie de construction, laissez le champ Nom vide. 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 ZIP fichier, incluez l'extension zip.

      • Pour Nom du compartiment, choisissez le nom du compartiment de sortie.

      • Si vous avez choisi Insérer des commandes de génération plus tôt dans cette procédure, pour les fichiers de sortie, entrez les emplacements des fichiers de la version que vous souhaitez placer dans le ZIP fichier ou le dossier de sortie de construction. 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.

    Configuration supplémentaire

    Développez Additional configuration (Configuration supplémentaire) et définissez les options dont vous avez besoin.

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

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.

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

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

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

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

  6. 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
  7. Accédez à la page de demande d'extraction Bitbucket pour voir le statut de la génération.