Création initiale d'un pipeline minimum viable pour l'intégration continue
Le cheminement de votre organisation vers la livraison continue commence par un pipeline minimum viable (MVP). Comme indiqué dans la section Implémentation de l'intégration et de la livraison continues, les équipes peuvent commencer par un processus très simple, comme la mise en œuvre d'un pipeline qui réalise un contrôle du style de code ou un test unitaire unique sans déploiement.
Un outil d'orchestration de la livraison continue en est l'un des principaux composants. Pour vous aider à créer ce pipeline, Amazon a développé AWS CodeStar
Page de configuration d'AWS CodeStar
AWS CodeStar utilise AWS CodePipeline, AWS CodeBuild, AWS CodeCommit et AWS CodeDeploy avec un processus de configuration intégré, des outils, des modèles et un tableau de bord. Il fournit les outils nécessaires pour développer, générer et déployer rapidement des applications sur AWS. Vous pouvez ainsi commencer à publier du code plus rapidement. Les clients qui utilisent déjà AWS Management Console et recherchent un niveau de contrôle plus élevé peuvent configurer manuellement les outils de développement de leur choix et allouer des services AWS individuels selon leurs besoins.
Tableau de bord AWS CodeStar
AWS CodePipeline est un service CI/CD qui peut être utilisé via AWS CodeStar ou via AWS Management Console pour des mises à jour rapides et fiables des applications et de l'infrastructure. AWS CodePipeline génère, teste et déploie le code chaque fois que celui-ci est modifié, en fonction des modèles de processus de lancement que vous définissez. Il est ainsi possible de proposer rapidement des fonctions et des mises à jour en toute sécurité. Vous pouvez facilement créer une solution de bout en bout grâce à nos plugins préintégrés pour des services tiers fréquemment utilisés, comme GitHub, ou en intégrant vos propres plugins personnalisés, à tous les stades de votre processus de lancement. Avec AWS CodePipeline, vous payez seulement ce que vous utilisez. Cela n'implique aucun paiement initial ni engagement à long terme.
Les phases d'AWS CodeStar et d'AWS CodePipeline sont directement corrélées aux phases source, de génération, intermédiaire et de production de l'intégration continue/livraison continue. Bien que la livraison continue soit souhaitable, vous pouvez commencer par un simple pipeline en deux phases qui contrôle le référentiel source et exécute une action de génération :
AWS CodePipeline – phases source et de génération
Dans le cas d'AWS CodePipeline, la phase source peut accepter des entrées provenant de GitHub, d'AWS CodeCommit et d'Amazon Simple Storage Service (Amazon S3). L'automatisation du processus de génération est une première phase essentielle pour mettre en œuvre la livraison continue et passer à un déploiement continu. En éliminant les interventions humaines dans la production d'artefacts de génération, vous réduisez la charge de travail de votre équipe, minimisez les erreurs introduites par la génération manuelle de packages et pouvez commencer à créer des packages des artefacts consommables plus fréquemment.
AWS CodePipeline fonctionne de manière transparente avec AWS CodeBuild, un service de génération entièrement géré, afin de faciliter la mise en place au sein de votre pipeline d'une phase de génération qui crée des packages de votre code et exécute des tests unitaires. Grâce à AWS CodeBuild, vous n'avez pas besoin d'allouer, de gérer ou de mettre à l'échelle vos propres serveurs de développement. AWS CodeBuild effectue une mise à l'échelle continue et traite simultanément plusieurs générations afin que celles-ci ne restent pas en file d'attente. AWS CodePipeline s'intègre également à des serveurs de développement tels que Jenkins, Solano CI et TeamCity.
Par exemple, dans la phase de génération ci-dessous, trois actions (tests unitaires, contrôles de style de code et collecte des métriques de code) s'exécutent en parallèle. À l'aide d'AWS CodeBuild, ces étapes peuvent être ajoutées comme nouveaux projets sans aucun effort supplémentaire, afin de créer ou d'installer des serveurs de développement pour gérer la charge.
AWS CodePipeline – fonctionnalité de génération
Les phases source et de génération illustrées dans la figure AWS CodePipeline – phases source et de génération, ainsi que les processus et l'automatisation connexes, aident à la transition de votre équipe vers une intégration continue. À ce niveau de maturité, les développeurs doivent régulièrement prêter attention aux résultats de génération et de test. Ils doivent également mettre en place et tenir à jour une base de tests unitaires saine. Cela contribue à renforcer la confiance de l'ensemble de l'équipe envers le pipeline CI/CD et favorise l'adoption de ce dernier.
Phases AWS CodePipeline