

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.

# Utilisation de l'interface de ligne de commande EB avec AWS CodeBuild
<a name="eb-cli-codebuild"></a>

[AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/) compile votre code source, exécute des tests unitaires et produit des artefacts prêts à être déployés. Vous pouvez utiliser CodeBuild avec l'interface de ligne de commande EB pour automatiser la création de votre application à partir de son code source. La création de l'environnement et chaque déploiement ultérieur commencent par une étape de développement, suivie du déploiement de l'application qui en résulte.

**Note**  
Certaines régions n'en proposent pas CodeBuild. L'intégration entre Elastic CodeBuild Beanstalk et Elastic ne fonctionne pas dans ces régions.  
Pour plus d'informations sur les AWS services offerts dans chaque région, consultez le [tableau des régions](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

## Création d’une application
<a name="eb-cli-codebuild-using"></a>

**Pour créer une application Elastic Beanstalk qui utilise CodeBuild**

1. Incluez un fichier de spécification de CodeBuild construction dans le dossier de votre application. [https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html)

1. Ajoutez au fichier une entrée `eb_codebuild_settings` avec des options spécifiques à Elastic Beanstalk.

1. Exécutez [**eb init**](eb3-init.md) dans le dossier.
**Note**  
N'utilisez pas le point (`.`) ou l'espace (` `) dans le *nom de l'application* lorsque vous utilisez l'EB CLI avec CodeBuild. 

Elastic Beanstalk [CodeBuild étend le format du fichier de spécification de build pour inclure](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) les paramètres supplémentaires suivants :

```
eb_codebuild_settings:
  CodeBuildServiceRole: role-name
  ComputeType: size
  Image: image
  Timeout: minutes
```

`CodeBuildServiceRole`  
L'ARN ou le nom du rôle de service Gestion des identités et des accès AWS (IAM) qui CodeBuild peut être utilisé pour interagir avec les AWS services dépendants en votre nom. Cette valeur est obligatoire. Si vous l'omettez, toute commande **eb deploy** ou **eb create** suivante échoue.  
Pour en savoir plus sur la création d'un rôle de service pour CodeBuild, voir [Créer un rôle CodeBuild de service](https://docs.aws.amazon.com/codebuild/latest/userguide/setting-up.html#setting-up-service-role) dans le *guide de AWS CodeBuild l'utilisateur*.  
Vous avez également besoin d'autorisations pour effectuer des actions en tant CodeBuild que telles. La politique relative aux utilisateurs gérés par **AdministratorAccessElastic AWSElastic Beanstalk - Beanstalk** inclut toutes les autorisations d'action requises. CodeBuild Si vous n'utilisez pas la stratégie gérée, veillez à autoriser les autorisations suivantes dans votre stratégie d'utilisateur.  

```
  "codebuild:CreateProject",
  "codebuild:DeleteProject",
  "codebuild:BatchGetBuilds",
  "codebuild:StartBuild"
```
Pour en savoir plus, consultez [Gestion des stratégies utilisateur Elastic Beanstalk](AWSHowTo.iam.managed-policies.md).

`ComputeType`  
La quantité de ressources utilisée par le conteneur Docker dans l'environnement de CodeBuild construction. Les valeurs valides sont BUILD\$1 GENERAL1 \$1SMALL, BUILD\$1 \$1MEDIUM et BUILD\$1 GENERAL1 \$1LARGE. GENERAL1

`Image`  
Nom de l'image Docker Hub ou Amazon ECR CodeBuild utilisée pour l'environnement de génération. Cette image Docker doit contenir tous les outils et bibliothèques d'exécution nécessaires à la création de votre code et doit correspondre à la plate-forme cible de votre application. CodeBuild gère et gère un ensemble d'images spécifiquement destinées à être utilisées avec Elastic Beanstalk. Il est recommandé d'utiliser l'une d'elles. Pour plus de détails, consultez la section [Images Docker fournies par CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html) dans le *guide de l'AWS CodeBuild utilisateur*.  
La valeur `Image` est facultative. Si vous l'omettez, la commande **eb init** tente de choisir une image qui correspondent le mieux à votre plateforme cible. De plus, si vous exécutez **eb init** en mode interactif et si le choix automatique d'image échoue, vous êtes invité à en choisir une. Au terme de l'initialisation, **eb init** écrit l'image choisie dans le fichier `buildspec.yml`.

`Timeout`  
Durée, en minutes, pendant laquelle le CodeBuild build s'exécute avant l'expiration du délai imparti. Cette valeur est facultative. Pour plus de détails sur les valeurs valides et par défaut, voir [Créer un projet de construction dans CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project.html).  
Ce délai contrôle la durée maximale d'une CodeBuild exécution, et l'EB CLI le respecte également dans le cadre de la première étape de création d'une version d'application. Il est différent de la valeur que vous pouvez spécifier avec l'option `--timeout` des commandes [**eb create**](eb3-create.md) ou [**eb deploy**](eb3-deploy.md). Cette valeur contrôle la durée maximale pendant laquelle l'interface de ligne de commande EB attend la création ou la mise à jour de l'environnement.

## Génération et déploiement du code de votre application
<a name="eb-cli-codebuild-using"></a>

Chaque fois que le code de votre application doit être déployé, l'interface de ligne de commande EB exécute une compilation, puis déploie les artefacts de génération qui en résultent dans votre environnement. CodeBuild Cela se produit lorsque vous créez un environnement Elastic Beanstalk pour votre application à l'aide de la commande [**eb create**](eb3-create.md) et chaque fois que vous déployez par la suite des modifications du code dans l'environnement à l'aide de la commande [**eb deploy**](eb3-deploy.md).

Si l' CodeBuild étape échoue, la création ou le déploiement de l'environnement ne démarre pas.