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
Un compte AWS actif
Balises définies par l'utilisateur pour identifier les EC2 instances lors du déploiement
CodeDeploy agent, installé sur les EC2 instances
Le logiciel d'exécution requis, installé sur les EC2 instances
Amazon Corretto 8 pour le kit de développement Java
Serveur Web Apache Tomcat
, installé Amazon CloudWatch Events (facultatif)
Une paire de clés pour se connecter au serveur Web (facultatif)
Un projet d'application Apache Maven pour une application Web
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.

Le schéma suivant illustre le flux de travail suivant :
Le développeur valide les modifications de code dans un dépôt CodeCommit Git privé.
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).
CodePipeline utilise l' CodeDeploy agent pour préinstaller toutes les dépendances requises pour les modifications des artefacts de déploiement.
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âche | Description | Compétences requises |
---|---|---|
Créez le référentiel. | Administrateur système AWS | |
Pour cloner le référentiel. | Développeur d’applications | |
Transférez le code source vers le dépôt distant. |
| Développeur d’applications |
Tâche | Description | Compétences requises |
---|---|---|
Créez un projet de génération. |
| Administrateur AWS, développeur d'applications |
Tâche | Description | Compétences requises |
---|---|---|
Créez l'application. |
| Administrateur système AWS, développeur d'applications |
Tâche | Description | Compétences requises |
---|---|---|
Créez le pipeline. |
| Administrateur système AWS, développeur d'applications |