

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
<a name="sample-github-enterprise"></a>

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.

**Topics**
+ [Conditions préalables](#sample-github-enterprise-prerequisites)
+ [Étape 1 : créer un projet de build avec GitHub Enterprise Server et activer les webhooks](#sample-github-enterprise-running)

## Conditions préalables
<a name="sample-github-enterprise-prerequisites"></a>

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](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/) 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.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/scopes.png)

1. Téléchargez votre certificat depuis GitHub Enterprise Server. CodeBuild utilise le certificat pour établir une connexion SSL fiable 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.

1. 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 ?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket.html) 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 ?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)
**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
<a name="sample-github-enterprise-running"></a>

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

1. Dans **Source**, dans **Source provider**, choisissez **GitHub Enterprise Server**.
   + Choisissez **Gérer les informations d'identification du compte**, puis sélectionnez **Jeton d'accès personnel**. Pour **Service**, choisissez **Secrets Manager (recommandé)** et configurez votre secret. Ensuite**, dans Jeton d'accès personnel GitHub Enterprise**, entrez votre jeton d'accès personnel et choisissez **Enregistrer**.
   + Dans **URL du référentiel**, saisissez 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 le protocole SSL non sécurisé** pour ignorer les avertissements SSL lorsque vous vous connectez au référentiel de votre projet GitHub Enterprise Server.
**Note**  
Nous vous recommandons d'utiliser **Insecure SSL (SSL non sécurisé)** uniquement 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.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/github-enterprise.png)

1. 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 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, consultez [Présentation de AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) dans le *Guide de l'utilisateur AWS Secrets Manager *.

1. 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 **Role 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.

1. Développez **Additional configuration (Configuration supplémentaire)**.

   Si vous souhaitez CodeBuild travailler avec votre VPC :
   + Pour le **VPC**, choisissez l'ID du VPC qui utilise. CodeBuild 
   + Pour les sous-réseaux **VPC, choisissez les sous-réseaux** qui incluent les ressources qui utilisent. CodeBuild 
   + Pour les **groupes de sécurité VPC**, choisissez les groupes de sécurité CodeBuild utilisés pour autoriser l'accès aux ressources du. VPCs

   Pour de plus amples informations, veuillez consulter [Utilisation AWS CodeBuild avec Amazon Virtual Private Cloud](vpc-support.md).

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**, 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 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).

1. 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](build-spec-ref.md#build-spec-ref-syntax). Pour plus d'informations sur la mise en cache, consultez [Des mises en cache pour améliorer les performances](build-caching.md). 

1. 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**.