

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écuter AWS CodeBuild les builds manuellement
<a name="run-build"></a>

Vous pouvez utiliser la AWS CodeBuild AWS CLI console ou AWS SDKs exécuter une intégration CodeBuild.

**Topics**
+ [

# Exécutez les builds localement avec l' AWS CodeBuild agent
](use-codebuild-agent.md)
+ [

# Exécution d'une génération (console)
](run-build-console.md)
+ [

# Exécution d'une génération (AWS CLI)
](run-build-cli.md)
+ [

# Exécuter une compilation par lots (AWS CLI)
](run-batch-build-cli.md)
+ [

# Lancement automatique de l'exécution de générations (AWS CLI)
](run-build-cli-auto-start.md)
+ [

# Arrêt automatique de l'exécution de générations (AWS CLI)
](run-build-cli-auto-stop.md)
+ [

# Exécution d'une génération (AWS SDKs)
](run-build-sdks.md)

# Exécutez les builds localement avec l' AWS CodeBuild agent
<a name="use-codebuild-agent"></a>

Vous pouvez utiliser l' AWS CodeBuild agent pour exécuter CodeBuild des builds sur une machine locale. Des agents sont disponibles pour les plateformes x86\$164 et ARM.

Vous pouvez également vous abonner pour recevoir des notifications lorsque de nouvelles versions de l'agent sont publiées. 

## Conditions préalables
<a name="use-codebuild-agent.prerequisites"></a>

Avant de commencer, vous devez effectuer les opérations suivantes :
+ Installez Git sur votre machine locale.
+ Installez et configurez [Docker](https://www.docker.com/) sur votre machine locale.

## Configurer l'image de construction
<a name="use-codebuild-agent.setup-image"></a>

Vous devez uniquement configurer l'image de construction lors de la première exécution de l'agent ou lorsque l'image a changé.

**Pour configurer l'image de construction**

1. [Si vous souhaitez utiliser une image Amazon Linux 2 sélectionnée, vous pouvez l'extraire du référentiel CodeBuild public Amazon ECR à l'adresse https://gallery.ecr. aws/codebuild/amazonlinux-x86\$164-standard](https://gallery.ecr.aws/codebuild/amazonlinux-x86_64-standard) avec la commande suivante :

   ```
   $ docker pull public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0
   ```

   Sinon, si vous souhaitez utiliser une autre image Linux, effectuez les opérations suivantes :

   1. Clonez le dépôt CodeBuild d'images :

      ```
      $ git clone https://github.com/aws/aws-codebuild-docker-images.git
      ```

   1. Accédez au répertoire des images. Pour cet exemple, utilisez l'`aws/codebuild/standard:5.0`image :

      ```
      $ cd aws-codebuild-docker-images/ubuntu/standard/5.0
      ```

   1. Construisez l'image. Cela peut prendre plusieurs minutes. 

      ```
      $ docker build -t aws/codebuild/standard:5.0 .
      ```

1. Téléchargez l' CodeBuild agent.

   Pour télécharger la version x86\$164 de l'agent, exécutez la commande suivante :

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:latest
   ```

   Pour télécharger la version ARM de l'agent, exécutez la commande suivante :

   ```
   $ docker pull public.ecr.aws/codebuild/local-builds:aarch64
   ```

1. <a name="codebuild-agent-sha"></a>L' CodeBuild agent est disponible à l'[adresse https://gallery.ecr. aws/codebuild/local-construit](https://gallery.ecr.aws/codebuild/local-builds). 

   La signature SHA (Secure Hash Algorithm) pour la version x86\$164 de l'agent est la suivante :

   ```
   sha256:ccb19bdd7af94e4dc761e4c58c267e9455c28ec68d938086b4dc1cf8fe6b0940
   ```

   La signature SHA pour la version ARM de l'agent est la suivante :

   ```
   sha256:7d7b5d35d2ac4e062ae7ba8c662ffed15229a52d09bd0d664a7816c439679192
   ```

   Vous pouvez utiliser le SHA pour identifier la version de l'agent. Pour voir la signature SHA de l'agent, exécutez la commande suivante et recherchez le SHA sous `RepoDigests` : 

   ```
   $ docker inspect public.ecr.aws/codebuild/local-builds:latest
   ```

## Exécutez l' CodeBuild agent
<a name="use-codebuild-agent.run-agent"></a>

**Pour exécuter l' CodeBuild agent**

1. Accédez au répertoire qui contient la source de votre projet de compilation.

1. Téléchargez le script [codebuild\$1build.sh](https://github.com/aws/aws-codebuild-docker-images/blob/master/local_builds/codebuild_build.sh) :

   ```
   $ curl -O  https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_build.sh
   $ chmod +x codebuild_build.sh
   ```

1. Exécutez le `codebuild_build.sh` script et spécifiez votre image de conteneur et le répertoire de sortie.

   Pour exécuter une version x86\$164, exécutez la commande suivante :

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory>
   ```

   Pour exécuter une version ARM, exécutez la commande suivante :

   ```
   $ ./codebuild_build.sh -i <container-image> -a <output directory> -l public.ecr.aws/codebuild/local-builds:aarch64
   ```

   Remplacez *<container-image>* par le nom de l'image du conteneur, tel que `aws/codebuild/standard:5.0` ou`public.ecr.aws/codebuild/amazonlinux-x86_64-standard:4.0`.

   Le script lance l'image de construction et exécute la construction sur le projet dans le répertoire en cours. Pour spécifier l'emplacement du projet de génération, ajoutez l'`-s <build project directory>`option à la commande de script.

## Recevez des notifications pour les nouvelles versions de CodeBuild l'agent
<a name="receive-codebuild-agent-notifications"></a>

Vous pouvez vous abonner aux notifications Amazon SNS afin d'être averti lorsque de nouvelles versions de l' AWS CodeBuild agent sont publiées. 

**Pour vous abonner aux notifications des CodeBuild agents**

1. [Ouvrez la console Amazon SNS à l'adresse v3/home. https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home) 

1. Dans la barre de navigation, si ce n'est pas déjà fait, remplacez la AWS région par **USA Est (Virginie du Nord)**. Vous devez sélectionner cette AWS région car les notifications Amazon SNS auxquelles vous vous abonnez sont créées dans cette région. 

1. Dans le panneau de navigation, sélectionnez **Abonnements**. 

1. Sélectionnez **Créer un abonnement**. 

1. Dans **Créer un abonnement**, procédez comme suit : 

   1. Pour **ARN de la rubrique**, utilisez l’Amazon Resource Name (ARN) suivant : 

      ```
      arn:aws:sns:us-east-1:850632864840:AWS-CodeBuild-Local-Agent-Updates
      ```

   1. Pour **Protocol (Protocole)**, choisissez **Email (E-mail)** ou **SMS**. 

   1. Pour **Endpoint (Point de terminaison)**, choisissez où recevoir les notifications (e-mail ou SMS). Saisissez une adresse e-mail, une adresse ou un numéro de téléphone, y compris l'indicatif régional. 

   1. Choisissez **Créer un abonnement**. 

   1. Choisissez **E-mail** pour recevoir un e-mail vous demandant de confirmer votre inscription. Suivez les instructions dans l'e-mail pour finaliser votre abonnement. 

      Si vous ne souhaitez plus recevoir ces notifications, exécutez la procédure suivante pour annuler votre abonnement. 

**Pour vous désabonner des notifications des CodeBuild agents**

1. [Ouvrez la console Amazon SNS à l'adresse v3/home. https://console.aws.amazon.com/sns/](https://console.aws.amazon.com/sns/v3/home) 

1. Dans le panneau de navigation, sélectionnez **Abonnements**. 

1. Sélectionnez l'abonnement, puis sous **Actions**, choisissez **Delete subscriptions (Supprimer des abonnements)**. Lorsque vous êtes invité à confirmer, choisissez **Delete**. 

# Exécution d'une génération (console)
<a name="run-build-console"></a>

À utiliser AWS CodePipeline pour exécuter une compilation avec CodeBuild, ignorez ces étapes et suivez les instructions indiquées dans[À utiliser CodeBuild avec CodePipeline](how-to-create-pipeline.md).

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

1. Dans la liste des projets de construction, choisissez le projet de construction.

1. Vous pouvez exécuter le build avec les paramètres de projet de build par défaut, ou remplacer les paramètres de build pour ce build uniquement.

   1. Si vous souhaitez exécuter le build avec les paramètres de projet de build par défaut, choisissez **Start build**. La construction démarre immédiatement.

   1. Si vous souhaitez remplacer les paramètres par défaut du projet de construction, choisissez **Commencer la construction avec des remplacements**. Sur la page **Démarrer la création**, vous pouvez remplacer les éléments suivants :
      + **Configuration de construction**
      + **Source**
      + **Dérogations de variables d'environnement**

      Si vous devez sélectionner des remplacements plus avancés, choisissez **Advanced build overrides**. Dans cette page, vous pouvez annuler les éléments suivants :
      + **Configuration de construction**
      + **Source**
      + **Environnement**
      + **Spécifications de construction**
      + **Artefacts**
      + **Journaux**

      Lorsque vous avez effectué vos sélections de remplacement, choisissez **Start build**.

Pour de plus amples informations sur cette génération, consultez [Affichage des détails d'une génération (console)](view-build-details.md#view-build-details-console).

# Exécution d'une génération (AWS CLI)
<a name="run-build-cli"></a>

**Note**  
À utiliser CodePipeline pour exécuter une compilation avec AWS CodeBuild, ignorez ces étapes et suivez les instructions indiquées dans[Créez un pipeline qui utilise CodeBuild (AWS CLI)](how-to-create-pipeline-cli.md).  
Pour plus d'informations sur l'utilisation du AWS CLI with CodeBuild, consultez le[Référence des commandes en ligne](cmd-ref.md).

1. Exécutez la commande `start-build` de l'une des manières suivantes :

   ```
   aws codebuild start-build --project-name <project-name>
   ```

   Utilisez cette commande si vous souhaitez exécuter une génération utilisant la dernière version de l'artefact d'entrée de génération et les paramètres existants du projet de génération.

   ```
   aws codebuild start-build --generate-cli-skeleton
   ```

   Utilisez cette commande si vous souhaitez exécuter une génération avec une version précédente de l'artefact d'entrée de génération, ou si vous souhaitez remplacer les paramètres pour les artefacts de sortie, les variables d'environnement, le fichier buildspec ou le délai d'expiration de génération par défaut.

1. Si vous exécutez la **start-build** commande avec l'`--project-name`option, *<project-name>* remplacez-la par le nom du projet de génération, puis passez à l'étape 6 de cette procédure. Pour obtenir une liste de projets de génération, consultez [Afficher les noms des projets de construction](view-project-list.md).

1. Si vous exécutez la **start-build** commande avec l'`--idempotency-token`option, un identifiant ou un jeton unique distinguant majuscules et minuscules est inclus dans la `start-build` demande. Le jeton est valide pendant 5 minutes après la demande . Si vous répétez la `start-build` demande avec le même jeton, mais que vous modifiez un paramètre, CodeBuild renvoie une erreur de non-concordance des paramètres.

1. Si vous exécutez la commande **start-build** avec l'option `--generate-cli-skeleton`, des données au format JSON apparaissent dans la sortie. Copiez les données dans un fichier (par exemple,`start-build.json`) à un emplacement de l'ordinateur local ou de l'instance sur laquelle le AWS CLI est installé. Modifiez les données copiées pour qu'elles correspondent au format suivant, et enregistrez vos résultats :

   ```
   {
     "projectName": "projectName",
     "sourceVersion": "sourceVersion",
     "artifactsOverride": {
       "type": "type",
       "location": "location",
       "path": "path",
       "namespaceType": "namespaceType",
       "name": "artifactsOverride-name",
       "packaging": "packaging"
     },
     "buildspecOverride": "buildspecOverride",
     "cacheOverride": {
       "location": "cacheOverride-location",
       "type": "cacheOverride-type"
     },
     "certificateOverride": "certificateOverride",
     "computeTypeOverride": "computeTypeOverride",
     "environmentTypeOverride": "environmentTypeOverride",
     "environmentVariablesOverride": {
       "name": "environmentVariablesOverride-name",
       "value": "environmentVariablesValue",
       "type": "environmentVariablesOverride-type"
     },
     "gitCloneDepthOverride": "gitCloneDepthOverride",
     "imageOverride": "imageOverride",
     "idempotencyToken": "idempotencyToken",
     "insecureSslOverride": "insecureSslOverride",
     "privilegedModeOverride": "privilegedModeOverride",
     "queuedTimeoutInMinutesOverride": "queuedTimeoutInMinutesOverride",
     "reportBuildStatusOverride": "reportBuildStatusOverride",
     "timeoutInMinutesOverride": "timeoutInMinutesOverride",
     "sourceAuthOverride": "sourceAuthOverride",
     "sourceLocationOverride": "sourceLocationOverride",
     "serviceRoleOverride": "serviceRoleOverride",
     "sourceTypeOverride": "sourceTypeOverride"
   }
   ```

   Remplacez les espaces réservés suivants :
   + *projectName*: chaîne obligatoire. Nom du projet de génération à utiliser pour la génération. 
   + *sourceVersion*: chaîne facultative. Une version du code source à générer, comme suit :
     + Pour Amazon S3, l'ID de version qui correspond à la version du fichier ZIP d'entrée que vous souhaitez créer. Si *sourceVersion* ce n'est pas spécifié, c'est la dernière version qui est utilisée.
     + Pour CodeCommit, l'ID de validation qui correspond à la version du code source que vous souhaitez créer. S'il n'*sourceVersion*est pas spécifié, l'ID de validation HEAD de la branche par défaut est utilisé. (Vous ne pouvez pas spécifier de nom de balise pour*sourceVersion*, mais vous pouvez spécifier l'ID de validation de la balise.)
     + Pour GitHub, l'ID de validation, l'ID de pull request, le nom de branche ou le nom de balise correspondant à la version du code source que vous souhaitez créer. Si un ID de demande d'extraction est spécifié, il doit utiliser le format `pr/pull-request-ID` (par exemple, `pr/25`). Si un nom de branche est spécifié, l'ID de validation HEAD de la branche est utilisé. S'il n'*sourceVersion*est pas spécifié, l'ID de validation HEAD de la branche par défaut est utilisé. 
     + Pour Bitbucket, l'ID de validation, le nom de branche ou le nom de balise qui correspond à la version du code source à générer. Si un nom de branche est spécifié, l'ID de validation HEAD de la branche est utilisé. S'il n'*sourceVersion*est pas spécifié, l'ID de validation HEAD de la branche par défaut est utilisé. 
   + Les espaces réservés suivants sont pour `artifactsOverride`.
     + *type* - Facultatif. Type d'artefact de sortie de génération qui remplace pour cette génération celui défini dans le projet de génération.
     + *location* - Facultatif. Emplacement d'artefact de sortie de génération qui remplace pour cette génération celui défini dans le projet de génération.
     + *path* - Facultatif. Chemin d'artefact de sortie de génération qui remplace pour cette génération celui défini dans le projet de génération.
     + *namespaceType* - Facultatif. Type de chemin d'artefact de sortie de génération qui remplace pour cette génération celui défini dans le projet de génération.
     + *name* - Facultatif. Nom d'artefact de sortie de génération qui remplace pour cette génération celui défini dans le projet de génération.
     + *packaging* - Facultatif. Type de packaging d'artefact de sortie de génération qui remplace pour cette génération celui défini dans le projet de génération.
   + *buildspecOverride* - Facultatif. Déclaration de spécification de génération (buildspec) qui remplace pour cette génération celle définie dans le projet de génération. Si cette valeur est définie, il peut s'agir d'une définition de spécification de génération en ligne, du chemin vers un fichier buildspec alternatif, relatif à la valeur de la variable d'environnement `CODEBUILD_SRC_DIR` intégrée, ou du chemin vers un compartiment S3. Le compartiment S3 doit être dans la même région AWS que le projet de génération. Spécifiez le fichier buildspec à l'aide de son nom ARN (par exemple, `arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml`). Si cette valeur n'est pas fournie ou qu'elle est définie sur une chaîne vide, le code source doit contenir un fichier `buildspec.yml` dans son répertoire racine. Pour de plus amples informations, veuillez consulter [Nom de fichier buildspec et emplacement de stockage](build-spec-ref.md#build-spec-ref-name-storage).
   + Les espaces réservés suivants sont pour `cacheOverride`.
     + *cacheOverride-location* - Facultatif. Emplacement d'un objet `ProjectCache` pour cette génération qui remplace l'objet `ProjectCache` spécifié dans le projet de génération. `cacheOverride` est facultatif et accepte un objet `ProjectCache`. `location` est obligatoire dans un objet `ProjectCache`.
     + *cacheOverride-type* - Facultatif. Type d'un objet `ProjectCache` pour cette génération qui remplace l'objet `ProjectCache` spécifié dans le projet de génération. `cacheOverride` est facultatif et accepte un objet `ProjectCache`. `type` est obligatoire dans un objet `ProjectCache`.
   + *certificateOverride* - Facultatif. Nom d'un certificat pour cette génération qui remplace celui spécifié dans le projet de génération.
   + *environmentTypeOverride* - Facultatif. Type de conteneur pour cette génération qui remplace celui spécifié dans le projet de génération. La chaîne valide actuelle est `LINUX_CONTAINER`.
   + Les espaces réservés suivants sont pour `environmentVariablesOverride`.
     + *environmentVariablesOverride-name* - Facultatif. Nom d'une variable d'environnement dans le projet de génération dont vous voulez substituer la valeur pour cette génération.
     + *environmentVariablesOverride-type* - Facultatif. Type de variable d'environnement dans le projet de génération dont vous voulez substituer la valeur pour cette génération.
     + *environmentVariablesValue* - Facultatif. Valeur de la variable d'environnement définie dans le projet de génération que vous voulez substituer pour cette génération.
   + *gitCloneDepthOverride* - Facultatif. Valeur de **Git clone depth** dans le projet de génération dont vous voulez remplacer la valeur pour cette génération. Si votre type de source est Amazon S3, cette valeur n'est pas prise en charge.
   + *imageOverride* - Facultatif. Nom d'une image pour cette génération qui remplace celle spécifiée dans le projet de génération.
   + *idempotencyToken* - Facultatif. Chaîne qui tient lieu de jeton pour spécifier que la demande de génération est idempotente. Vous pouvez choisir n'importe quelle chaîne de 64 caractères maximum. Le jeton est valide pendant 5 minutes après la demande de démarrage de la construction. Si vous répétez la demande de démarrage de la construction avec le même jeton, mais que vous modifiez un paramètre, cela CodeBuild renvoie une erreur de non-concordance des paramètres. 
   + *insecureSslOverride*: booléen facultatif qui indique s'il faut remplacer le paramètre TLS non sécurisé spécifié dans le projet de génération. Le paramètre TLS non sécurisé détermine s'il convient d'ignorer les avertissements TLS lors de la connexion au code source du projet. Cette dérogation s'applique uniquement si la source du build est GitHub Enterprise Server.
   + *privilegedModeOverride*: booléen facultatif. Si celle-ci est définie sur true, la génération remplace le mode privilégié dans le projet de génération.
   +  *queuedTimeoutInMinutesOverride*: entier facultatif qui indique le nombre de minutes pendant lesquelles une version est autorisée à être mise en file d'attente avant son expiration. Sa valeur minimale est de cinq minutes et sa valeur maximale est 480 minutes (huit heures). 
   + *reportBuildStatusOverride*: booléen facultatif qui indique s'il faut envoyer à votre fournisseur source l'état du début et de la fin d'une compilation. Si vous le définissez avec un fournisseur de source autre qu' GitHub GitHub Enterprise Server ou Bitbucket, un invalidInputException est émis.
   + *sourceAuthOverride*: chaîne facultative. Type d'autorisation pour cette génération qui remplace celle définie dans le projet de génération. Cette dérogation s'applique uniquement si la source du projet de build est Bitbucket ou. GitHub
   + *sourceLocationOverride*: chaîne facultative. Emplacement qui remplace l'emplacement de la source pour cette génération par celui défini dans le projet de génération.
   + *serviceRoleOverride*: chaîne facultative. Nom d'un rôle de service pour cette génération qui remplace celui spécifié dans le projet de génération.
   + *sourceTypeOverride*: chaîne facultative. Type d'entrée source pour cette génération qui remplace l'entrée source définie dans le projet de génération. Les chaînes valides sont `NO_SOURCE`, `CODECOMMIT`, `CODEPIPELINE`, `GITHUB`, `S3`, `BITBUCKET` et `GITHUB_ENTERPRISE`.
   + *timeoutInMinutesOverride*: Numéro optionnel. Nombre de minutes de délai d'expiration de génération qui remplace pour cette de génération celui défini dans le projet de génération. 

   Nous vous recommandons de stocker une variable d'environnement avec une valeur sensible, telle qu'un identifiant de clé d' AWS accès, une clé d'accès AWS secrète ou un mot de passe en tant que paramètre dans Amazon EC2 Systems Manager Parameter Store. CodeBuild peut utiliser un paramètre stocké dans Amazon EC2 Systems Manager Parameter Store uniquement si le nom de ce paramètre commence par `/CodeBuild/` (par exemple,`/CodeBuild/dockerLoginPassword`). Vous pouvez utiliser la CodeBuild console pour créer un paramètre dans Amazon EC2 Systems Manager. Sélectionnez **Créer un paramètre**, puis suivez les instructions. (Dans cette boîte de dialogue, pour la **clé KMS**, vous pouvez éventuellement spécifier l'ARN d'une AWS KMS clé dans votre compte. Amazon EC2 Systems Manager utilise cette clé pour chiffrer la valeur du paramètre pendant le stockage et pour le déchiffrer lors de la récupération.) Si vous utilisez la CodeBuild console pour créer un paramètre, la console commence le paramètre `/CodeBuild/` tel qu'il est stocké. Toutefois, si vous utilisez la console Amazon EC2 Systems Manager Parameter Store pour créer un paramètre, vous devez commencer le nom du paramètre par et définir **Type** sur **Secure String**. `/CodeBuild/` Pour plus d'informations, consultez les [AWS Systems Manager sections Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) et [Walkthrough : Create and test a String parameter (console)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-console.html) dans le *guide de l'utilisateur d'Amazon EC2 Systems Manager*.

   Si votre projet de génération fait référence à des paramètres stockés dans Amazon EC2 Systems Manager Parameter Store, le rôle de service du projet de génération doit autoriser l'`ssm:GetParameters`action. Si vous avez choisi **Créer un nouveau rôle de service dans votre compte** plus tôt, cette action est automatiquement incluse dans le rôle de service par défaut de votre projet de génération. CodeBuild Toutefois, si vous avez choisi précédemment **Choisir un rôle de service existant dans votre compte**, vous devez inclure séparément cette action dans votre rôle de service.

   Les variables d'environnement que vous définissez remplacent les variables d'environnement existantes. Par exemple, si l'image Docker contient déjà une variable d'environnement nommée `MY_VAR` avec la valeur `my_value` et que vous définissez une variable d'environnement nommée `MY_VAR` avec la valeur `other_value`, la valeur `my_value` est remplacée par `other_value`. De même, si l'image Docker contient déjà une variable d'environnement nommée `PATH` avec la valeur `/usr/local/sbin:/usr/local/bin` et que vous définissez une variable d'environnement nommée `PATH` avec la valeur `$PATH:/usr/share/ant/bin`, la valeur `/usr/local/sbin:/usr/local/bin` est remplacée par la valeur littérale `$PATH:/usr/share/ant/bin`. 

   Ne définissez pas de variables d'environnement avec un nom commençant par `CODEBUILD_`. Ce préfixe est réservé à une utilisation interne .

   Si une variable d'environnement avec le même nom est définie dans plusieurs emplacements, la valeur de la variable d'environnement est déterminée comme suit :
   + La valeur de l'appel d'opération de démarrage de génération a une priorité plus élevée.
   + La valeur de la définition de projet de génération vient ensuite dans l'ordre des priorités.
   + La valeur figurant dans la déclaration du fichier buildspec a la priorité la plus faible.

   Pour de plus amples informations sur les valeurs valides pour ces espaces réservés, consultez [Création d'un projet de génération (AWS CLI)](create-project.md#create-project-cli). Pour obtenir une liste des derniers paramètres pour un projet de génération, consultez [Afficher les détails du projet de construction](view-project-details.md).

1. Placez-vous dans le répertoire contenant le fichier que vous venez d'enregistrer, puis exécutez à nouveau la commande `start-build`.

   ```
   aws codebuild start-build --cli-input-json file://start-build.json
   ```

1. En cas de réussite, des données similaires à ce qui est décrit dans la procédure [Pour exécuter la génération](getting-started-overview.md#getting-started-run-build-cli) apparaissent en sortie.

Pour utiliser les informations détaillées sur cette génération, notez la valeur `id` de la sortie, puis consultez [Affichage des détails d'une génération (AWS CLI)](view-build-details.md#view-build-details-cli).

# Exécuter une compilation par lots (AWS CLI)
<a name="run-batch-build-cli"></a>

1. Exécutez la commande `start-build-batch` de l'une des manières suivantes :

   ```
   aws codebuild start-build-batch --project-name <project-name>
   ```

   Utilisez cette commande si vous souhaitez exécuter une génération utilisant la dernière version de l'artefact d'entrée de génération et les paramètres existants du projet de génération.

   ```
   aws codebuild start-build-batch --generate-cli-skeleton > <json-file>
   ```

   Utilisez cette commande si vous souhaitez exécuter une génération avec une version précédente de l'artefact d'entrée de génération, ou si vous souhaitez remplacer les paramètres pour les artefacts de sortie, les variables d'environnement, le fichier buildspec ou le délai d'expiration de génération par défaut.

1. Si vous exécutez la **start-build-batch** commande avec l'`--project-name`option, *<project-name>* remplacez-la par le nom du projet de génération, puis passez à l'étape 6 de cette procédure. Pour obtenir une liste de projets de génération, consultez [Afficher les noms des projets de construction](view-project-list.md).

1. Si vous exécutez la **start-build-batch** commande avec l'`--idempotency-token`option, un identifiant unique distinguant majuscules et minuscules, ou jeton, est inclus dans la `start-build-batch` demande. Le jeton est valide pendant 5 minutes après la demande . Si vous répétez la `start-build-batch` demande avec le même jeton, mais que vous modifiez un paramètre, CodeBuild renvoie une erreur de non-concordance des paramètres.

1. Si vous exécutez la **start-build-batch** commande avec l'`--generate-cli-skeleton`option, les données au format JSON sont sorties dans le fichier. *<json-file>* Ce fichier est similaire au squelette produit par la **start-build** commande, avec l'ajout de l'objet suivant. Pour plus d'informations sur les objets courants, consultez[Exécution d'une génération (AWS CLI)](run-build-cli.md).

   Modifiez ce fichier pour ajouter des remplacements de build et enregistrez vos résultats.

   ```
     "buildBatchConfigOverride": {
       "combineArtifacts": combineArtifacts,
       "restrictions": {
         "computeTypesAllowed": [
           allowedComputeTypes
         ],
         "maximumBuildsAllowed": maximumBuildsAllowed
       },
       "serviceRole": "batchServiceRole",
       "timeoutInMins": batchTimeout
     }
   ```

   L'`buildBatchConfigOverride`objet est une [ProjectBuildBatchConfig](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectBuildBatchConfig.html)structure qui contient les remplacements de configuration de génération par lots pour cette version.  
*combineArtifacts*  
Un booléen qui indique si les artefacts de construction pour la génération par lots doivent être combinés dans un seul emplacement d'artefact.  
*allowedComputeTypes*  
Tableau de chaînes qui spécifient les types de calcul autorisés pour la construction par lots. Reportez-vous [à la section Types de calcul de l'environnement](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) de génération pour ces valeurs.   
*maximumBuildsAllowed*  
Spécifie le nombre maximal de builds autorisés.  
*batchServiceRole*  
Spécifie l'ARN du rôle de service pour le projet de génération par lots.  
*batchTimeout*  
Spécifie la durée maximale, en minutes, pendant laquelle la génération du lot doit être terminée.

1. Placez-vous dans le répertoire contenant le fichier que vous venez d'enregistrer, puis exécutez à nouveau la commande `start-build-batch`.

   ```
   aws codebuild start-build-batch --cli-input-json file://start-build.json
   ```

1. En cas de succès, la représentation JSON d'un [BuildBatch](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_BuildBatch.html)objet apparaît dans la sortie de la console. Voir la [syntaxe de StartBuildBatch réponse](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_StartBuildBatch.html#API_StartBuildBatch_ResponseSyntax) pour un exemple de ces données.

# Lancement automatique de l'exécution de générations (AWS CLI)
<a name="run-build-cli-auto-start"></a>

Si votre code source est stocké dans un référentiel GitHub ou dans un référentiel GitHub Enterprise Server, vous pouvez utiliser des GitHub webhooks pour AWS CodeBuild reconstruire votre code source chaque fois qu'une modification de code est envoyée au référentiel.

Exécutez la commande **create-webhook** comme suit :

```
aws codebuild create-webhook --project-name <project-name>
```

*<project-name>*est le nom du projet de construction qui contient le code source à reconstruire.

En GitHub effet, des informations similaires aux suivantes apparaissent dans la sortie :

```
{
  "webhook": {
    "url": "<url>"
  }
}
```

*<url>*est l'URL du GitHub webhook.

Pour GitHub Enterprise Server, des informations similaires aux suivantes apparaissent dans la sortie :

![\[Exemples d'informations de sortie.\]](http://docs.aws.amazon.com/fr_fr/codebuild/latest/userguide/images/create-webhook-ghe.png)


1. Copiez la clé secrète et l'URL de la charge utile à partir de la sortie. Vous en avez besoin pour ajouter un webhook dans GitHub Enterprise Server. 

1. Dans GitHub Enterprise Server, choisissez le référentiel dans lequel votre CodeBuild projet est stocké. Choisissez **Settings (Paramètres)**, **Hooks & services**, puis **Add webhook (Ajouter un webhook)**. 

1. Entrez l'URL et la clé secrète de la charge utile, acceptez les valeurs par défaut pour les autres champs, puis choisissez **Add webhook**.

# Arrêt automatique de l'exécution de générations (AWS CLI)
<a name="run-build-cli-auto-stop"></a>

Si votre code source est stocké dans un référentiel GitHub ou dans un référentiel GitHub Enterprise Server, vous pouvez configurer des GitHub webhooks pour AWS CodeBuild reconstruire votre code source chaque fois qu'une modification de code est envoyée au référentiel. Pour de plus amples informations, veuillez consulter [Lancement automatique de l'exécution de générations (AWS CLI)](run-build-cli-auto-start.md).

Si vous avez activé ce comportement, vous pouvez le désactiver en exécutant la commande `delete-webhook` comme suit :

```
aws codebuild delete-webhook --project-name <project-name>
```
+ où *<project-name>* est le nom du projet de construction qui contient le code source à reconstruire.

Si cette commande aboutit, aucune information ni aucune erreur n'apparaît dans la sortie.

**Note**  
Cela supprime le webhook de votre CodeBuild projet uniquement. Vous devez également supprimer le webhook de votre référentiel GitHub ou de celui GitHub d'Enterprise Server.

# Exécution d'une génération (AWS SDKs)
<a name="run-build-sdks"></a>

À utiliser CodePipeline pour exécuter une compilation avec AWS CodeBuild, ignorez ces étapes et suivez [Utilisez AWS CodeBuild with AWS CodePipeline pour tester le code et exécuter des builds](how-to-create-pipeline.md) plutôt les instructions indiquées.

Pour plus d'informations sur l'utilisation CodeBuild avec le AWS SDKs, consultez le[AWS SDKs et référence des outils](sdk-ref.md).