SOLUTIONS Gestion des exigences
Tests
Gestion de configuration
Gestion de bugs
J2EE & Open source
Intégration continue
MAVEN
CONTINUUM
Formation
Documentation

Démonstration en ligne

Vous souhaitez en savoir plus sur nos produits en quelques minutes... Via Internet, découvrez nos démonstrations en ligne. Simple, rapide, efficace.

Cliquez ici
Intégration continueFiabilisez vos applications

L’intégration continue

Définition
Les objectifs de l’intégration continue
Les pré-requis
Exemples d’outils utilisables

Définition

L’intégration continue est utilisée par les équipes informatiques dans le but de vérifier que chaque modification de code source ne produit pas de non-régressions et/ou d’erreurs sur l’application en cours de développement.

Les membres de l’équipe de développement réintègrent le programme sur lequel ils travaillent le plus fréquemment possible, au minimum une fois par jour. Chaque intégration est ensuite vérifiée par une plateforme automatique afin que les erreurs soient détectées à leur entrée.

Exemple simplifié d’une plateforme d’intégration continue
Plateforme intégration continue

Les objectifs de l’intégration continue

- Mise à jour permanente, au minimum quotidienne, de l’environnement. De fait, une version est toujours disponible pour un test, une démonstration ou une distribution.

- Connaissance en temps réel de l’avancement du projet par le responsable du projet.

- Réactivité des équipes de développement en cas de code incompatible ou manquant.

- Réduction des coûts liés à la résolution des bugs, sous réserves de réaliser des tests. Les changements susceptibles d’avoir apporté une erreur étant limités, les corrections sont largement facilitées.

- Gain de temps au niveau du déploiement du développement. On élimine les sessions intensives de débogage, les problèmes étant résolus le jour même.

Dans un processus d’intégration continue, le plus difficile à exprimer est l’impact réel d’un changement fondamental sur l’ensemble de l’application, ce qui n’est pas évident à déceler pour quiconque n’a jamais expérimenté une telle méthode. En définitive, seuls les ingénieurs travaillant en indépendant peuvent aisément la pratiquer, puisqu’il n’y a qu’eux qui intégrent de nouveaux éléments. Pour bon nombre d’équipes de développement, les problèmes auxquels ils sont confrontés relèvent directement de la territorialité. L’intégration continue permet de contourner cet obstacle, à condition de s’imposer une certaine dose de discipline.

L’un des principaux avantages de l’intégration continue est qu’elle permet d’éviter que la chasse aux bugs ne se limite à rechercher à quel endroit s’est chevauché le travail de 2 ou plusieurs membres de l’équipe. Ces bugs sont très difficiles à localiser car le problème ne vient pas d’une personne en particulier mais de l’interaction du travail de deux personnes différentes. Et cela ne s’arrange pas au fil du temps. Les bugs peuvent souvent avoir été intégrés des semaines, voire des mois, avant d’être détectés et localisés ; ils en deviennent d’autant plus difficiles à retracer.

Grâce à l’intégration continue, une grande majorité des bugs dus à des problèmes d’interaction sont résolus le jour même. En outre, on repère immédiatement dans la moitié des cas où l’interaction a eu lieu. Cela réduit considérablement le champ de recherche du bug.

Maintenant, l’intégration continue ne garantit pas que tous les bugs soient identifiés. Le processus repose sur le test, et comme chacun le sait, tester ne signifie pas pour autant une absence totale d’erreurs. Finalement, il faut surtout s’assurer que l’intégration continue corrige suffisamment de bugs pour justifier sa mise en place et son coût.

Les pré-requis

Bien que l’intégration continue soit très bien perçue par les équipes de développement, elle n’en nécessite pas moins certains pré-requis.

- le code source permettant de reconstruire l’application doit être conservé à un seul et même endroit. Il doit être accessible pour tous les membres de l’équipe qui veulent accéder à la version en cours ou une version antérieure.

- Automatiser le processus de « build » pour qu’une simple commande puisse reconstruire l’application.

- Automatiser les tests unitaires pour exécuter plusieurs contrôles avec une simple commande.

- S’assurer que tout le monde puisse avoir accès à la version la plus à jour possible de l’application.

Exemples d’outils utilisables

- Maven 2
- Continuum, CruiseControl, Hudson
- JSUnit, DBunit, JUnit
- Selenium,
- CVS, Subversion
- Jira
SolutionsServicesDownloadSupportSocieteInformations Legales