Utilisation de l'interface de ligne de commande EB avec AWS CodeBuild - AWS Elastic Beanstalk

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

AWS CodeBuild 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'offrent pas CodeBuild. L'intégration entre Elastic Beanstalk et CodeBuild ne fonctionne pas dans ces régions.

Pour de plus amples informations sur les services AWS proposés dans chaque région, veuillez consulter le Tableau des régions.

Création d'une application

Pour créer une application Elastic Beanstalk qui utilise CodeBuild
  1. Incluez un fichier de spécification de génération CodeBuild, buildspec.yml, dans le dossier de votre application.

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

  3. Exécutez eb init dans le dossier.

    Note

    N'utilisez pas de point (.) ou d'espace ( ) dans le nom de l'application lorsque vous utilisez l'EB CLI avec CodeBuild.

Elastic Beanstalk étend le format de fichier de spécification de construction CodeBuild pour inclure les paramètres supplémentaires suivants :

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

L'ARN ou le nom de la fonction du service AWS Identity and Access Management (IAM) que CodeBuild peut utiliser pour interagir avec les services AWS 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'une fonction de service pour CodeBuild, veuillez consulter Création d'un rôle de service CodeBuild dans le Guide de l'utilisateur AWS CodeBuild.

Note

Vous avez également besoin d'autorisations pour exécuter des actions dans CodeBuild lui-même. La stratégie utilisateur AdministratorAccess-AWSElasticBeanstalk gérée par Elastic Beanstalk inclut toutes les autorisations d'action CodeBuild requises. 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 plus de détails, veuillez consulter Gestion des stratégies utilisateur Elastic Beanstalk.

ComputeType

La quantité de ressources utilisée par le conteneur Docker dans l'environnement de construction CodeBuild. Les valeurs valides sont BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM et BUILD_GENERAL1_LARGE.

Image

Nom de l'image Docker Hub ou Amazon ECR utilisée par CodeBuild pour l'environnement de construction. 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 plateforme cible de votre application. CodeBuild gère et maintient un ensemble d'images spécifiquement destinées à être utilisées avec Elastic Beanstalk. Il est recommandé d'utiliser l'une d'elles. Pour de plus amples informations, veuillez consulter Images Docker fournies par CodeBuild dans le Guide de l'utilisateur AWS CodeBuild.

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 d'exécution de la construction CodeBuild, en minutes, avant l'expiration. Cette valeur est facultative. Pour de plus amples informations sur les valeurs valides et la valeur par défaut, veuillez consulter Créer un projet de build dans CodeBuild.

Note

Ce délai d'expiration contrôle la durée maximale d'une exécution CodeBuild et l'interface de ligne de commande EB la respecte également dans le cadre de sa première étape de création d'une version de l'application. Il est différent de la valeur que vous pouvez spécifier avec l'option --timeout des commandes eb create ou eb deploy. 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

Chaque fois que le code de votre application doit être déployé, l'interface de ligne de commande EB utilise CodeBuild pour exécuter une génération, puis déploie les artefacts de génération résultants dans votre environnement. Cela se produit lorsque vous créez un environnement Elastic Beanstalk pour votre application à l'aide de la commande eb create et chaque fois que vous déployez par la suite des modifications du code dans l'environnement à l'aide de la commande eb deploy.

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