Créez un pipeline et déployez des mises à jour d'artefacts sur des instances locales à l'aide de EC2 CodePipeline - 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.

Créez un pipeline et déployez des mises à jour d'artefacts sur des instances locales à l'aide de EC2 CodePipeline

Créée par Akash Kumar (AWS) et Sandeep Reddy Jogammagari (AWS)

Récapitulatif

Ce modèle fournit des exemples de code et des étapes pour créer un pipeline dans le cloud Amazon Web Services (AWS) et déployer des artefacts mis à jour sur des instances Amazon Elastic Compute Cloud (Amazon EC2) sur site dans AWS CodePipeline. Le modèle est basé sur la pratique de l'intégration continue. Cette pratique automatise la création et le test du code à l'aide d'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. Ensuite, vous créez un projet et configurez votre code source à l'aide d'AWS CodeBuild. Enfin, vous créez votre application et configurez son environnement cible pour les EC2 instances sur site à l'aide d'AWS CodeDeploy.

Conditions préalables et limitations

Prérequis

Architecture

Le schéma suivant montre un exemple d'application Web Java déployée sur des EC2 instances locales à l'aide de l'architecture de ce modèle.

Exemple d'application Web Java déployée sur EC2 des instances

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

  2. CodePipeline utilise CodeBuild pour lancer la construction et ajouter de nouveaux artefacts prêts à être déployés dans le compartiment Amazon Simple Storage Service (Amazon S3).

  3. CodePipeline utilise l' CodeDeploy agent pour préinstaller toutes les dépendances requises pour les modifications des artefacts de déploiement.

  4. CodePipeline utilise l' CodeDeploy agent pour déployer les artefacts du compartiment S3 vers les EC2 instances cibles. Si cette option est activée, CloudWatch Events peut démarrer automatiquement le pipeline lorsqu'une modification se produit dans le code source.

Pile technologique

  • CodeBuild

  • CodeCommit

  • CodeDeploy

  • CodePipeline

  • CloudWatch Événements (facultatif)

Outils

  • AWS CodeBuild est un service de génération entièrement géré qui vous aide à compiler le code source, à exécuter des tests unitaires et à produire des artefacts prêts à être déployés. CodeBuild compile votre code source, exécute des tests unitaires et produit des artefacts prêts à être déployés.

  • 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, sans avoir à gérer votre propre système de contrôle de source.

  • AWS CodeDeploy automatise les déploiements vers Amazon Elastic Compute Cloud EC2 (Amazon) ou des instances sur site, les fonctions AWS Lambda ou les services Amazon Elastic Container Service (Amazon ECS).

  • AWS vous CodePipeline aide à modéliser et à configurer rapidement les différentes étapes d'une version logicielle et à automatiser les étapes nécessaires à la publication continue des modifications logicielles.

Code

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

  • buildspec.yml— Ce fichier spécifie les actions nécessaires CodeBuild pour créer et créer un artefact à déployer.

  • appspec.yml— Ce fichier spécifie les actions CodeDeploy requises pour créer une application et configurer un environnement cible pour les EC2 instances locales.

  • install_dependencies.sh— Ce fichier installe les dépendances du serveur Web Apache Tomcat.

  • start_server.sh— Ce fichier démarre le serveur Web Apache Tomcat.

  • stop_server.sh— Ce fichier arrête le serveur Web Apache Tomcat.

É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 appspec.yml 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 à l'AWS Management Console, ouvrez la CodeBuild console AWS, puis choisissez Create build project.

  2. Dans 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 Operating system (Système d'exploitation), choisissez Amazon Linux 2.

    Note

    Le support d'Amazon Linux 2 touche à sa fin. Pour plus d'informations, consultez Amazon Linux 2 FAQs.

  7. Pour RunTime(s), choisissez Standard.

  8. Pour Image, choisissez aws/codebuild/amazonlinux2-aarch64-standard:2.0.

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

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

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

  12. (Facultatif) Choisissez Ajouter un artefact pour configurer les artefacts.

  13. (Facultatif) Pour télécharger les journaux de sortie de build sur Amazon CloudWatch, sélectionnez CloudWatch logs.

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

Administrateur AWS, développeur d'applications
TâcheDescriptionCompétences requises

Créez l'application.

  1. Connectez-vous à l'AWS Management Console, ouvrez la CodeDeploy console AWS, puis choisissez Create application.

  2. Dans Nom de l'application, entrez le nom de votre application.

  3. Pour la plateforme de calcul, choisissez EC2/On-premises.

  4. Choisissez Créer une application, puis Créer un groupe de déploiement.

  5. Pour Nom du groupe de déploiement, entrez un nom.

  6. Note

    Créez un rôle de service pour CodeDeploy. : le rôle de service doit disposer des autorisations nécessaires pour autoriser CodeDeploy l'accès à votre environnement cible.

  7. Pour Rôle de service, choisissez le rôle de service que vous avez créé à l'étape 6.

  8. Pour le type de déploiement, choisissez sur place ou bleu/vert en fonction des besoins de votre entreprise.

  9. Pour la configuration de l'environnement, choisissez les options qui répondent aux exigences de votre entreprise.

  10. (Facultatif) Créez un groupe cible pour votre équilibreur de charge séparément dans la EC2 console Amazon, puis revenez à la page Créer un groupe de déploiement de la CodeDeploy console AWS pour choisir votre équilibreur de charge et votre groupe cible.

  11. Choisissez Créer un groupe de déploiement.

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

Créez le pipeline.

  1. Connectez-vous à l'AWS Management Console, 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 Artifact store, choisissez Default location si vous souhaitez qu'Amazon S3 crée un bucket et stocke les artefacts dans le bucket. 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é) ou AWS CodePipeline. Choisissez Suivant.

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

  10. Pour Nom du projet, choisissez le projet de construction que vous avez créé dans la section Créer un CodeBuild projet pour l'application de ce modèle.

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

  12. Dans le champ Deploy provider, choisissez AWS CodeDeploy.

  13. Choisissez un nom d'application et un groupe de déploiement, puis choisissez Next.

  14. Choisissez Créer un pipeline.

Administrateur système AWS, développeur d'applications

Ressources connexes

Pièces jointes

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