Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Création d'un pipeline et d'une AMI à l'aide de CodePipeline and HashiCorp Packer - Recommandations AWS

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.

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.

Création d'un pipeline et d'une AMI à l'aide de CodePipeline and HashiCorp Packer

Créée par Akash Kumar (AWS)

Récapitulatif

Remarque : n' AWS CodeCommit est plus disponible pour les nouveaux clients. Les clients existants de AWS CodeCommit peuvent continuer à utiliser le service normalement. En savoir plus

Ce modèle fournit des exemples de code et des étapes pour créer à la fois un pipeline dans le cloud Amazon Web Services (AWS) à l'aide d'AWS CodePipeline et une image machine Amazon (AMI) à l'aide de HashiCorp Packer. Le modèle est basé sur la pratique de l'intégration continue, qui automatise la création et le test du code avec un système de contrôle de version basé sur Git. Dans ce modèle, vous créez et clonez un référentiel de code à l'aide d'AWS CodeCommit. Créez ensuite un projet et configurez votre code source à l'aide d'AWS CodeBuild. Enfin, créez une AMI qui sera validée dans votre référentiel.

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif

  • Une AMI Amazon Linux pour le lancement d'instances Amazon Elastic Compute Cloud (Amazon EC2)

  • HashiCorp Packer 0.12.3 ou version ultérieure

  • Amazon CloudWatch Events (facultatif)

  • Amazon CloudWatch Logs (facultatif)

Architecture

Le schéma suivant montre un exemple de code d'application qui automatise la création d'une AMI en utilisant l'architecture de ce modèle.

Automatisez la création d'une AMI.

Le schéma suivant illustre le flux de travail suivant :

  1. Le développeur valide les modifications de code dans un dépôt CodeCommit Git privé. CodePipeline Utilisez-le ensuite CodeBuild pour lancer la génération et ajouter de nouveaux artefacts prêts à être déployés dans le compartiment Amazon Simple Storage Service (Amazon S3).

  2. CodeBuild utilise Packer pour regrouper et empaqueter l'AMI en fonction d'un modèle JSON. Si cette option est activée, CloudWatch Events peut démarrer automatiquement le pipeline lorsqu'une modification survient dans le code source.

Pile technologique

  • CodeBuild

  • CodeCommit

  • CodePipeline

  • CloudWatch Événements (facultatif)

Outils

  • AWS CodeBuild — AWS CodeBuild est un service de création entièrement géré dans le cloud. CodeBuild compile votre code source, exécute des tests unitaires et produit des artefacts prêts à être déployés.

  • AWS CodeCommit — AWS CodeCommit est un service de contrôle de version qui vous permet de stocker et de gérer de manière privée des référentiels Git dans le cloud AWS. CodeCommit vous n'avez plus à gérer votre propre système de contrôle de source ou à vous soucier de la mise à l'échelle de son infrastructure.

  • AWS CodePipeline — AWS CodePipeline est un service de livraison continue que vous pouvez utiliser pour modéliser, visualiser et automatiser les étapes nécessaires à la publication de votre logiciel.

  • HashiCorp Packer — HashiCorp Packer est un outil open source permettant d'automatiser la création d'images de machine identiques à partir d'une configuration source unique. Packer est léger, fonctionne sur tous les principaux systèmes d'exploitation et crée des images de machine pour plusieurs plateformes en parallèle.

Code

Ce modèle inclut les pièces jointes suivantes :

  • buildspec.yml— Ce fichier est utilisé CodeBuild pour créer et créer un artefact à déployer.

  • amazon-linux_packer-template.json— Ce fichier utilise Packer pour créer une AMI Amazon Linux.

Épopées

TâcheDescriptionCompétences requises

Créez le référentiel.

Créez un CodeCommit référentiel.

Administrateur système AWS

Pour cloner le référentiel.

Connectez-vous au CodeCommit référentiel en le clonant.

Développeur d’applications

Transférez le code source vers le dépôt distant.

  1. Créez un commit pour ajouter les amazon-linux_packer-template.json fichiers buildspec.yml et à votre dépôt local.

  2. Transférez le commit de votre dépôt local vers le CodeCommit référentiel distant.

Développeur d’applications

Configuration du référentiel de code

TâcheDescriptionCompétences requises

Créez le référentiel.

Créez un CodeCommit référentiel.

Administrateur système AWS

Pour cloner le référentiel.

Connectez-vous au CodeCommit référentiel en le clonant.

Développeur d’applications

Transférez le code source vers le dépôt distant.

  1. Créez un commit pour ajouter les amazon-linux_packer-template.json fichiers buildspec.yml et à votre dépôt local.

  2. Transférez le commit de votre dépôt local vers le CodeCommit référentiel distant.

Développeur d’applications
TâcheDescriptionCompétences requises

Créez un projet de génération.

  1. Connectez-vous à la console de gestion AWS, ouvrez la CodeBuild console AWS, puis choisissez Create build project.

  2. Dans le champ Nom du projet, entrez le nom de votre projet.

  3. Dans le champ Source provider, choisissez AWS CodeCommit.

  4. Pour Repository, choisissez le référentiel dans lequel vous souhaitez créer le pipeline de code.

  5. Pour Image d'environnement, choisissez Image gérée ou Image personnalisée.

  6. Pour Système d'exploitation, choisissez Ubuntu.

  7. Pour RunTime(s), choisissez Standard.

  8. Pour Image, choisissez aws/codebuild/standard : 4.0.

  9. Pour la version image, choisissez Toujours utiliser la dernière image pour cette version d'exécution.

  10. Dans Environnement, choisissez Linux.

  11. Cochez la case Privileged.

  12. Pour Rôle de service, choisissez Nouveau rôle de service ou Rôle de service existant.

  13. Pour les spécifications de construction, choisissez Utiliser un fichier de spécification de construction ou Insérer des commandes de construction.

  14. (Facultatif) Dans le champ Type dans la section Artefacts, sélectionnez Aucun artefact.

  15. (Recommandé) Pour télécharger les journaux de sortie de build dans CloudWatch Logs, sélectionnez CloudWatch logs.

  16. (Facultatif) Pour télécharger les journaux de sortie de build sur Amazon S3, cochez la case Journaux S3.

  17. Choisissez Créer un projet de génération.

Développeur d'applications, administrateur système AWS

Création d'un CodeBuild projet pour l'application

TâcheDescriptionCompétences requises

Créez un projet de génération.

  1. Connectez-vous à la console de gestion AWS, ouvrez la CodeBuild console AWS, puis choisissez Create build project.

  2. Dans le champ Nom du projet, entrez le nom de votre projet.

  3. Dans le champ Source provider, choisissez AWS CodeCommit.

  4. Pour Repository, choisissez le référentiel dans lequel vous souhaitez créer le pipeline de code.

  5. Pour Image d'environnement, choisissez Image gérée ou Image personnalisée.

  6. Pour Système d'exploitation, choisissez Ubuntu.

  7. Pour RunTime(s), choisissez Standard.

  8. Pour Image, choisissez aws/codebuild/standard : 4.0.

  9. Pour la version image, choisissez Toujours utiliser la dernière image pour cette version d'exécution.

  10. Dans Environnement, choisissez Linux.

  11. Cochez la case Privileged.

  12. Pour Rôle de service, choisissez Nouveau rôle de service ou Rôle de service existant.

  13. Pour les spécifications de construction, choisissez Utiliser un fichier de spécification de construction ou Insérer des commandes de construction.

  14. (Facultatif) Dans le champ Type dans la section Artefacts, sélectionnez Aucun artefact.

  15. (Recommandé) Pour télécharger les journaux de sortie de build dans CloudWatch Logs, sélectionnez CloudWatch logs.

  16. (Facultatif) Pour télécharger les journaux de sortie de build sur Amazon S3, cochez la case Journaux S3.

  17. Choisissez Créer un projet de génération.

Développeur d'applications, administrateur système AWS
TâcheDescriptionCompétences requises

Nom du pipeline

  1. Connectez-vous à la console de gestion AWS, ouvrez la CodePipeline console AWS, puis choisissez Create pipeline.

  2. Dans Nom du pipeline, entrez un nom pour le pipeline.

  3. Pour Rôle de service, choisissez Nouveau rôle de service ou Rôle de service existant.

  4. Dans le champ Role name (Nom de rôle), saisissez un nom pour votre rôle.

  5. Dans la section Paramètres avancés, pour le magasin d'artifacts, choisissez Emplacement par défaut si vous souhaitez qu'Amazon S3 crée un compartiment et y stocke les artefacts. Pour utiliser un compartiment S3 existant, choisissez Emplacement personnalisé. Choisissez Suivant.

  6. Dans le champ Source provider, choisissez AWS CodeCommit.

  7. Dans Nom du référentiel, choisissez le référentiel que vous avez cloné précédemment. Dans Nom de la branche, choisissez votre branche de code source.

  8. Pour les options de détection des modifications, choisissez Amazon CloudWatch Events (recommandé) pour démarrer le pipeline ou AWS CodePipeline pour vérifier régulièrement les modifications. Choisissez Suivant.

  9. Dans le champ Build provider, choisissez AWS CodeBuild.

  10. Dans Nom du projet, choisissez le projet de construction que vous avez créé dans l'épopée Créer un CodeBuild projet pour l'application.

  11. Choisissez vos options de compilation, puis cliquez sur Suivant.

  12. Choisissez Ignorer l'étape de déploiement.

  13. Choisissez Créer un pipeline.

Développeur d'applications, administrateur système AWS

Configuration du pipeline

TâcheDescriptionCompétences requises

Nom du pipeline

  1. Connectez-vous à la console de gestion AWS, ouvrez la CodePipeline console AWS, puis choisissez Create pipeline.

  2. Dans Nom du pipeline, entrez un nom pour le pipeline.

  3. Pour Rôle de service, choisissez Nouveau rôle de service ou Rôle de service existant.

  4. Dans le champ Role name (Nom de rôle), saisissez un nom pour votre rôle.

  5. Dans la section Paramètres avancés, pour le magasin d'artifacts, choisissez Emplacement par défaut si vous souhaitez qu'Amazon S3 crée un compartiment et y stocke les artefacts. Pour utiliser un compartiment S3 existant, choisissez Emplacement personnalisé. Choisissez Suivant.

  6. Dans le champ Source provider, choisissez AWS CodeCommit.

  7. Dans Nom du référentiel, choisissez le référentiel que vous avez cloné précédemment. Dans Nom de la branche, choisissez votre branche de code source.

  8. Pour les options de détection des modifications, choisissez Amazon CloudWatch Events (recommandé) pour démarrer le pipeline ou AWS CodePipeline pour vérifier régulièrement les modifications. Choisissez Suivant.

  9. Dans le champ Build provider, choisissez AWS CodeBuild.

  10. Dans Nom du projet, choisissez le projet de construction que vous avez créé dans l'épopée Créer un CodeBuild projet pour l'application.

  11. Choisissez vos options de compilation, puis cliquez sur Suivant.

  12. Choisissez Ignorer l'étape de déploiement.

  13. Choisissez Créer un pipeline.

Développeur d'applications, administrateur système AWS

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.