11.3 Configuration d'un pipeline d'intégration continue (CI)

L'intégration continue (CI) est une pratique de développement logiciel dans laquelle les membres d'une équipe intègrent fréquemment leur travail, généralement chacun s'intégrant au moins quotidiennement, ce qui conduit à plusieurs intégrations par jour. Chaque intégration est vérifiée par une construction automatisée (y compris des tests) pour détecter les erreurs d'intégration le plus rapidement possible. Cela implique à la fois la mise en place d'un référentiel de code et la définition d'un pipeline CI.

Configuration du référentiel de codes

Avant de mettre en place un pipeline CI, il est essentiel d'établir un référentiel de code efficace. Un référentiel de code est l'endroit où le code source du projet est stocké et géré. Les systèmes de contrôle de versions comme Git sont largement utilisés à cette fin, avec des plateformes comme GitHub, GitLab et Bitbucket proposant des référentiels distants qui facilitent la collaboration et l'intégration continue.

Choisir la plateforme d'hébergement de code

La première étape consiste à choisir une plate-forme d'hébergement de code qui correspond aux besoins du projet et de l'équipe. Chaque plate-forme possède ses propres fonctionnalités et avantages, tels que l'intégration avec les outils CI/CD, la gestion des autorisations, la révision du code et le reporting des problèmes.

Création et configuration du référentiel

Après avoir choisi la plateforme, il est nécessaire de créer un nouveau référentiel. Lors de la création, vous pouvez ajouter un fichier README, une licence et un fichier .gitignore, indispensables à tout projet. Le fichier README fournit des informations sur le projet, tandis que .gitignore spécifie les fichiers et répertoires à ignorer par le contrôle de version. La licence définit comment le code peut être utilisé par d'autres.

Gestion des succursales

Une stratégie de gestion de succursale efficace est cruciale pour CI. Git permet plusieurs stratégies telles que Git Flow et Trunk Based Development. Dans le contexte de CI, de nombreuses équipes préfèrent l'approche Trunk Based Development, qui encourage des commits fréquents dans la branche principale (trunk/master) pour faciliter l'intégration continue.

Protection des branches

Les plates-formes d'hébergement de code offrent souvent des fonctionnalités permettant de protéger les branches importantes. Par exemple, vous pouvez configurer la branche principale pour exiger des révisions de code et des tests CI réussis avant que les fusions puissent être effectuées. Cela permet de maintenir la qualité et la stabilité du code dans la branche principale.

Webhooks et intégration avec les outils CI

Les webhooks sont utilisés pour déclencher des actions automatiques lorsque des événements spécifiques se produisent dans le référentiel. Lors de la configuration d'un pipeline CI, les webhooks peuvent être configurés pour lancer des builds automatiques chaque fois que le code est poussé vers le référentiel ou lorsqu'une pull request est créée.

Définition du pipeline CI

Une fois le référentiel de code configuré, l'étape suivante consiste à définir le pipeline CI. Un pipeline CI est une série d'étapes que le code doit suivre pour passer du référentiel à l'environnement de production. Cela inclut généralement des étapes telles que la compilation, les tests et, dans certains cas, le déploiement dans un environnement de test.

Outils CI

Il existe plusieurs outils CI sur le marché, tels que Jenkins, Travis CI, GitLab CI, CircleCI et GitHub Actions. Chacun a ses propres caractéristiques et modes de configuration. Le choix de l'outil dépendra des besoins spécifiques du projet et de la familiarité de l'équipe avec l'outil.

Fichier de configuration CI

Les outils CI modernes utilisent généralement un fichier de configuration YAML ou JSON qui définit le pipeline. Ce fichier spécifie les étapes du pipeline, les environnements d'exécution (tels que les conteneurs Docker) et les actions qui doivent être prises en réponse à différents événements dans le référentiel de code.

Créer un script

Le script de build est l'endroit où vous définissez la façon dont le logiciel est construit. Cela peut inclure la compilation de code, l'exécution de tests unitaires, la génération d'artefacts (tels que des fichiers .jar ou .war pour les applications Java) et la vérification de la qualité du code.

Tests automatisés

Les tests automatisés constituent un élément crucial du pipeline CI. Cela comprend les tests unitaires, les tests d'intégration, les tests système et, dans certains cas, les tests de performances et de sécurité. L'exécution réussie de ces tests est un indicateur que le code est stable et prêt à être intégré au travail d'autres développeurs ou à être promu à l'étape suivante du pipeline.

Notifications et rapports

Les notifications sont configurées pour alerter l'équipe lorsqu'une build échoue ou réussit. Cela peut être fait par e-mail, Slack ou un autre système de messagerie. Des rapports de construction et de test détaillés sont générés pour fournir un aperçurenseignez-vous sur l'état du code et identifiez rapidement les problèmes.

En conclusion, la mise en place d'un pipeline CI implique de configurer soigneusement le référentiel de code et de définir un ensemble d'étapes de création et de test automatisées. En suivant les bonnes pratiques et en utilisant les bons outils, les équipes peuvent garantir que le code est toujours dans un état constructible, réduisant ainsi le risque de problèmes d'intégration et accélérant le cycle de publication du logiciel.

Répondez maintenant à l’exercice sur le contenu :

Parmi les affirmations suivantes concernant la configuration d'un pipeline d'intégration continue (CI), laquelle est correcte ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Configuration d'un pipeline d'intégration continue (CI) : définition des déclencheurs de build

Page suivante de lebook gratuit :

15Configuration d'un pipeline d'intégration continue (CI) : définition des déclencheurs de build

0 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte