Téléchargement
illégal

Concept de l’Intégration Continue



Introduction


Le processus d’intégration continue a pour objectif principal de vérifier que chaque mise à jour du code source ne génère pas de régressions et/ou d’anomalies sur une application en cours de développement.
Historiquement, l’intégration continue a été utilisée par IBM pour le développement de l’OS/360 depuis les années 60.
L’intégration continue n’est pas un outil mais plutôt une pratique issue de l'eXtreme Programming (XP).
Les développeurs d’une même application réintègrent le programme sur lequel ils travaillent le plus fréquemment possible. Il s’agit de déclencher à chaque intégration un processus qui se base sur une platforme qui vérifié automatiquement le fonctionnement de l’application afin que les anomalies soient détectées à leur entrée.

Le plus difficile pour un développeur est de réfléchir sur l’impact réel d’une mise à jour fondamentale sur l’ensemble des fonctionnalités de l’application. L’intégration continue permet de, donner au développeur cette vision plus générale sur l’application puisque les tests de l’application se font sur un environnement clone de production.

Mots clés

  • Build : C’est l’ensemble d’étapes nécessaires à la compilation, à la création des livrables au lancement des tests (fonctionnel, unitaires, IHM,etc).
  • Commit : C’est l’opération qui permet la validation des mises à jour du code source existant sur le répertoire de travail local de la machine du développeur moyennant l’outil de gestion de configuration (tel que SVN). Le commit se fait du répertoire de travail local vers le référentiel de l’outil de gestion de configuration.
  • Update : C’est l’opération qui permet de la mise à jour à partir du référentiel de l’outil de gestion de configuration du répertoire local.
  • Checkout : C’est l’opération d’extraction d’une version d’un projet en cours de développement du référentiel du gestionnaire de configuration sur un répertoire de travail local.

Scénario général

  • Le développeur fait son commit sur le référentiel du gestionnaire de configuration.
  • Le serveur d’intégration continue détecte le commit , fait un Checkout lance les opérations de compilation et de tests
  • En cas de d’échec une notification est générée au chef de projet et/ou à l’équipe de développement.
  • Le développeur concerné par l’erreur fait un update du référentiel de gestion de configuration et corrige l’anomalie.

Fonctionnalités générales d’un serveur d’intégration continue


Un serveur d’intégration continue doit principalement permettre :
  • De faire les opérations de Checkout du gestionnaire de configuration.
  • La compilation du code source
  • La création de l’archive de l’application (Ear, Jar, War, …)
  • Le déploiement de l’archive sur la machine de test.
  • L’exécution d’une suite de tests : Junit, Cactus, Audit de code source, test IHM, tests fonctionnels
  • La notification du résultat : mail, RSS.
  • La création de rapport de statistiques.
  • L’intégration avec d’autres outils

Les serveurs de d’intégration les plus connus

  • Cruise Control : open source et gratuit, très connu, très documenté, permet de tester des applications J2EE et des applications en .Net. c’est la référence de l’intégration continue.
  • Hudson : open source et gratuit, devenu très populaire plus récent que Cruise Control, permet de tester des applications J2EE. Utilisé par SUN
  • Continuum : opensource et gratuit soutenu par la fondation Apache
  • Bamboo : opensource et payant
Publié par wjaouadi - Dernière mise à jour le 1 décembre 2009 à 18:03 par wjaouadi
Ce document intitulé « Concept de l’Intégration Continue » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  Concept de l’Intégration Continue
  •  Un nouveau concept de montre qui intègre un alcootest » Actualités : (Paris - Relax news) - Si vous n'êtes pas sûr d'être en état d'appeler votre ex ou de prendre le volant après une soirée bien arrosée, un nouveau prototype de montre pourrait vous être utile. Cette montre-alcootest, créée par les spécialistes des...
  •  Lettre de motivation pour intégrer une école (Résolu) » Meilleure réponse: Prénom Nom ADRESSE Tel : 06-......... Email : ................@orange.fr " Nom D'école" "ADRESSE" "Votre Ville", le "Date"2008 Objet : lettre de motivation pour candidature au "nom école" Madame, Monsieur, Futur jeune diplômé en BTS Ele
  •  Comment integrer idm avec firefox » Salut, voila je trouve comme becoup de personnes firefox mieu que IE mais ce qui avait de bien avec ie c'est que j'utiliser internet download accelerator et que avec firefox il me mais son systeme de telechargement pas defaut. Enfaite je voudrais...
  •  Comment inserer un pdf dans un fichie Word ? (Résolu) » Meilleure réponse: Salut, Avez-vous installé un lecteur Adobe? Vous pouvez le télécharger à partir du site Adobe, c'est gratuit. Vous pouvez utiliser l'outil de capture d'écran (comme un appareil photo) pour capturer dans les pages que vous voulez. Ensuit
  •  Je cherche un logiciel pour faire ma cuisine (Résolu) » Meilleure réponse: J'ai trouvé un logiciel gratuit de décoration pour mac. Tu peux y dessiner ta cuisine mais aussi toutes les autres pièces de ton logement. c'est assez complet tu verras. Tape sur Google: Sweet home 3D, logiciel de décoration pour Mac J'
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Axis 2 - Partie 2: Mise en place et utilisation
Serveurs d’intégration CruiseControl Vs Hudson