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
-
Incluez un fichier de spécification de génération CodeBuild,
buildspec.yml
, dans le dossier de votre application. -
Ajoutez au fichier une entrée
eb_codebuild_settings
avec des options spécifiques à Elastic Beanstalk. -
Exécutez eb init dans le dossier.
Note
N'utilisez pas de point (
.
) ou d'espace (
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 fichierbuildspec.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.