Intégration continue

Dans cet article, nous allons analyser en profondeur Intégration continue et tous ses aspects pertinents. Intégration continue est aujourd'hui un sujet d'une grande importance, car il a un impact significatif sur la société, l'économie, la culture et bien d'autres domaines. Au fil des années, Intégration continue a suscité un débat constant et a suscité un intérêt croissant dans différents secteurs. À cet égard, il est crucial de bien comprendre la nature et la portée de Intégration continue, ainsi que ses implications à court et à long terme. Par conséquent, cet article vise à offrir une vue complète et détaillée sur Intégration continue, dans le but d’enrichir les connaissances et de promouvoir un débat constructif autour de ce sujet d’importance mondiale.

ZAPTEST screenshot

L'intégration continue (de l'anglais : Continuous integration, CI), est un ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée. Le concept a pour la première fois été mentionné par Grady Booch et se réfère généralement à la pratique de l'extreme programming. Le principal but de cette pratique est de détecter les problèmes d'intégration au plus tôt lors du développement. De plus, elle permet d'automatiser l'exécution des suites de tests et de voir l'évolution du développement du logiciel.

L'intégration continue est de plus en plus utilisée en entreprise afin d'améliorer la qualité du code et du produit final.

Intérêt

L'intégration continue repose souvent sur la mise en place d'une brique logicielle permettant l'automatisation de tâches : compilation, tests unitaires et fonctionnels, validation produit, tests de performances… À chaque changement du code, cette brique logicielle va exécuter un ensemble de tâches et produire un ensemble de résultats, que le développeur peut par la suite consulter. Cette intégration permet ainsi de ne pas oublier d'éléments lors de la mise en production et donc ainsi améliorer la qualité du produit.

Pour appliquer cette technique, il faut d'abord que :

Un outil d'intégration continue est ensuite nécessaire, tel que CruiseControl, Jenkins ou Travis CI. D'autres outils, comme SonarQube ou Jacoco, peuvent être mis en place afin de superviser la qualité du code.

Les principaux avantages d'une telle technique de développement sont :

  • le test immédiat des modifications ;
  • la notification rapide en cas de code incompatible ou manquant ;
  • les problèmes d'intégration sont détectés et réparés de façon continue, évitant les problèmes de dernière minute ;
  • une version est toujours disponible pour un test, une démonstration ou une distribution.

Articles connexes

Références

  1. (en) Grady Booch, Object Oriented Design : With Applications, Benjamin Cummings, , 580 p. (ISBN 978-0-8053-0091-8, lire en ligne), p. 209.
  2. a et b « Approfondissement Technique : Intégration continue », (consulté le ).
  3. « Usine Logicielle, Qualité & Tests », sur zenika.com (consulté le ).