Exécutez l'exemple de serveur d' GitHub entreprise 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 de serveur d' GitHub entreprise pour CodeBuild

AWS CodeBuild prend en charge GitHub Enterprise Server en tant que référentiel source. Cet exemple montre comment configurer vos CodeBuild projets lorsqu'un certificat est installé dans votre référentiel GitHub Enterprise Server. Il montre également comment activer les webhooks afin de CodeBuild recompiler le code source chaque fois qu'une modification de code est transmise à votre référentiel GitHub Enterprise Server.

Prérequis

  1. Générez un jeton d'accès personnel pour votre CodeBuild projet. Nous vous recommandons de créer un utilisateur GitHub Enterprise et de générer un jeton d'accès personnel pour cet utilisateur. Copiez-le dans votre presse-papiers afin de pouvoir l'utiliser lors de la création de votre CodeBuild projet. Pour plus d'informations, consultez la section Création d'un jeton d'accès personnel pour la ligne de commande sur le site Web d' GitHub aide.

    Lorsque vous créez le jeton d'accès personnel, incluez la portée du référentiel dans la définition.

    La portée du dépôt dans la définition.
  2. Téléchargez votre certificat depuis GitHub Enterprise Server. CodeBuild utilise le certificat pour établir une SSL connexion sécurisée avec le référentiel.

    Clients Linux/macOS :

    À partir d'une fenêtre de terminal , exécutez la commande suivante :

    echo -n | openssl s_client -connect HOST:PORTNUMBER \ | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /folder/filename.pem

    Remplacez les espaces réservés de la commande par les valeurs suivantes :

    HOST. Adresse IP de votre référentiel GitHub Enterprise Server.

    PORTNUMBER. Le numéro de port que vous utilisez pour vous connecter (par exemple, 443).

    folder. Le dossier dans lequel vous avez téléchargé votre certificat.

    filename. Le nom de fichier de votre fichier de certificat.

    Important

    Enregistrez le certificat en tant que fichier .pem.

    Clients Windows:

    Utilisez votre navigateur pour télécharger votre certificat depuis GitHub Enterprise Server. Pour afficher les détails de certificat du site, choisissez l'icône en forme de cadenas. Pour plus d'informations sur la manière d'exporter le certificat, consultez la documentation de votre navigateur.

    Important

    Enregistrez le certificat en tant que fichier .pem.

  3. Chargez votre fichier de certificat dans un compartiment S3. Pour de plus amples informations sur la façon de créer un compartiment S3, veuillez consulter Comment créer un compartiment S3 ? Pour de plus amples informations sur le chargement d'objets dans un compartiment S3, veuillez consulter Comment charger des fichiers ou dossiers vers un compartiment ?

    Note

    Ce compartiment doit se trouver dans la même AWS région que vos builds. Par exemple, si vous demandez d' CodeBuild exécuter un build dans la région USA Est (Ohio), le bucket doit se trouver dans la région USA Est (Ohio).

Étape 1 : créer un projet de build avec GitHub Enterprise Server et 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. Dans Nom du projet, saisissez un nom pour ce projet de génération. 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.

  4. Dans Source, dans Source provider, choisissez GitHub Enterprise.

    • Pour Personal Access Token, collez le jeton que vous avez copié dans le Presse-papiers et choisissez Save Token. Dans Référentiel URL, entrez le référentiel URL de votre serveur GitHub d'entreprise.

      Note

      Vous n'avez besoin de saisir et d'enregistrer le jeton d'accès personnel qu'une seule fois. Tous les futurs AWS CodeBuild projets utilisent ce jeton.

    • Dans Repository URL, entrez le chemin d'accès à votre référentiel, y compris le nom du référentiel.

    • Développez Additional configuration (Configuration supplémentaire).

    • Sélectionnez Rebuild every time a code change is pushed to this repository (Regénérer chaque fois qu'une modification de code est transmise à ce référentiel) pour regénérer chaque fois qu'une modification de code est transmise à ce référentiel.

    • Sélectionnez Activer non sécurisé SSL pour ignorer les SSL avertissements lorsque vous vous connectez au référentiel de projets GitHub Enterprise Server.

      Note

      Nous vous recommandons d'utiliser Enable insecure uniquement SSL pour les tests. Cette option ne doit pas être utilisée dans un environnement de production.

    Configuration du référentiel du projet GitHub Enterprise Server.
  5. Dans Environment (Environnement) :

    Pour Image d'environnement, effectuez l'une des actions 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, consultez Présentation de AWS Secrets Manager dans le Guide de l'utilisateur AWS Secrets Manager .

  6. Dans Rôle du service, sélectionnez l'une des options 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.

  7. Développez Additional configuration (Configuration supplémentaire).

    Si vous CodeBuild souhaitez travailler avec votre VPC :

    • Pour VPC, choisissez l'VPCID qui CodeBuild utilise.

    • Pour les VPCsous-réseaux, choisissez les sous-réseaux qui incluent les ressources qui CodeBuild utilisent.

    • Pour les groupes VPC de sécurité, choisissez les groupes de sécurité CodeBuild utilisés pour autoriser l'accès aux ressources duVPCs.

    Pour de plus amples informations, veuillez consulter Utilisation AWS CodeBuild avec Amazon Virtual Private Cloud.

  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, pour Type, effectuez l'une des actions 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.

  10. Pour Cache type (Type de cache), choisissez l'une des valeurs suivantes :

    • Si vous ne souhaitez pas utiliser un cache, choisissez Aucun cache.

    • Si vous souhaitez utiliser un cache Amazon S3, choisissez Amazon S3, puis procédez comme suit :

      • Pour Compartiment, choisissez le nom du compartiment S3 dans lequel le cache est stocké.

      • (Facultatif) Pour le préfixe de chemin du cache, entrez un préfixe de chemin Amazon S3. La valeur Cache path prefix (Préfixe du chemin de cache) est semblable à un nom de répertoire. Cela vous permet de stocker le cache sous le même répertoire au sein d'un compartiment.

        Important

        N'ajoutez pas de barre oblique de fin (/) à la fin du préfixe du chemin.

    • Si vous souhaitez utiliser un cache local, choisissez Local, puis sélectionnez une ou plusieurs modes de cache local.

      Note

      Le mode de cache de couche Docker est disponible pour Linux uniquement. Si vous choisissez ce mode, votre projet doit être exécuté en mode privilégié.

    L'utilisation d'un cache permet de gagner beaucoup de temps de génération, car les parties réutilisables de l'environnement de génération sont stockées dans le cache et utilisées d'une génération à l'autre. Pour de plus amples informations sur la spécification d'un cache dans le fichier de spécification de génération, consultez Syntaxe d'un fichier buildspec. Pour plus d'informations sur la mise en cache, consultez Des mises en cache pour améliorer les performances.

  11. Choisissez Créer un projet de génération. Sur la page de projet de génération, choisissez Démarrer la génération.

  12. Si vous avez activé les webhooks dans Source, une boîte de dialogue Créer un webhook s'affiche avec des valeurs pour Payload URL et Secret.

    Important

    La boîte de dialogue Créer un webhook n'apparaît qu'une seule fois. Copiez la charge utile URL et la clé secrète. Vous en avez besoin lorsque vous ajoutez un webhook dans GitHub Enterprise Server.

    Si vous devez générer à nouveau une charge utile URL et une clé secrète, vous devez d'abord supprimer le webhook de votre référentiel GitHub Enterprise Server. Dans votre CodeBuild projet, décochez la case Webhook, puis choisissez Enregistrer. Vous pouvez ensuite créer ou mettre à jour un CodeBuild projet en cochant la case Webhook. La boîte de dialogue Créer un webhook apparaît à nouveau.

  13. Dans GitHub Enterprise Server, choisissez le référentiel dans lequel votre CodeBuild projet est stocké.

  14. Choisissez Settings (Paramètres), Hooks & services, puis Add webhook (Ajouter un webhook).

  15. Entrez la charge utile URL et la clé secrète, acceptez les valeurs par défaut pour les autres champs, puis choisissez Ajouter un webhook.

    Configuration de la charge utile URL et de la clé secrète.
  16. Retournez à votre CodeBuild projet. Fermez la boîte de dialogue Créer un webhook et choisissez Démarrer la génération.