Intégration continue
RAZAFIMAHATRATRA Hajarisena
Docteur en Informatique
Génie Logiciel Avancé – Master 1 Année: 2023
Définition
L’art de tester un ensemble de modules,
afin d’assurer leur cohésion et de veiller à
la stabilité du système;
Tester à chaque modification;
Assurer la non régression;
Reporter;
De manière automatisée.
A quoi ça sert ?
Gagner en productivité;
Gagner du temps;
Gagner de l’argent;
Produire avec une meilleure qualité;
Anticiper les erreurs de conception avant
la mise en production;
Avoir une meilleure vision du projet;
Réactivité face aux changements.
Intégration/Intégration Continue
Intégration: on code tout, puis on teste tout;
Intégration continue: on code, on commite, on teste, on code,
on commite, on teste...
Intégration classique:
Intégration continue:
Architecture
Caractéristiques d’un outil
Un outil d'intégration continue se
compose de 4 modules principaux:
Un gestionnaire de code source
Un gestionnaire de builds
Un gestionnaire de tests
Un gestionnaire de logs
Job
Représente la configuration d'une tâche
qui va être lancée par l'outil;
Processus d’intégration;
Compose un projet ou plusieurs;
Module joué toujours de la même
manière;
Contient un paquet avec sources;
Point d’entrée.
Quelques outils
Apache Continuum
Hudson/Jenkins
Vulcan
Tinderbox
CruiseControl +(.NET)
Bamboo (cloud solution)
Et bien d’autres…
Critères de comparaison de
serveurs d’intégration continue:
Combien des systèmes de gestion de version
supportés ?
Combien de stratégies de notification ?
Combien d’outils de build supportés ?
Capacité à réaliser des builds en parallèle ?
Capacité à réaliser des builds distribués ?
Capacité à réaliser des builds manuel ou
planifiés ?
Intégration avec l’outil gestion bug ?
Intégration IDE ?
Facilité d’installation ? Administration ?
Résumé
Tous les projets de développement
doivent utiliser un système d’intégration
continue:
Ça valide les changements du code
rapidement;
Permet la validation dans plusieurs
environnements;
Facilite les discussions des
problèmes/changements.