Cruise Control™

Configuration

Le fichier XML

Pour configurer Cruise Control, il faut rédiger un fichier de configuration en XML. Il permet d’ajouter des projets que l’outil de tests aura à gérer. Ce fichier est composé de plusieurs balises principales :

Balises Description
Listeners emplacement du fichier de statut (utilisé notamment par l’IHM pour déterminer à quelle étape nous sommes)
Bootstrappers informations pour la récupération des sources
Modificationset comportement lors de la modification du code source du répertoire local
Schedule configuration du build (temps entre 2 builds, type de scripts : Ant, Maven, Nant, …)
Log définition de l’emplacement des fichiers de logs
Publishers tâches exécutées après le build, que celui-ci ait réussi ou non

Il est possible de configurer plusieurs projets dans ce fichier de configuration grâce à la balise <project>. Toutes les balises possèdent des arguments qu'il faut spécifier afin de correctement configurer le projet. Cependant, il est plus simple d'utiliser l'interface graphique afin de configurer tous les projets que l'on souhaite.

L'interface graphique

Il est possible de configurer cruise control sans passer par une modification manuelle du fichier XML Cela permet de configurer pas à pas, et connaitre l’ensemble des balises possibles Lorsque l’on modifie la config, le fichier XML est mis a jour et l’appli le prend en compte directement Alors que sinon il faut redemarrer cruise control™.

Dans un premier temps, il nous faut configurer notre serveur Cruise Control™ afin de récupérer les informations sur les projets déjà configurer en renseignant un nom de serveur (optionnel), l'adresse du serveur, le numéro du port RMI (que l'on peut trouver dans le fichier .bat de l'exécuteur du serveur), ainsi que l'adresse du site web permettant la visualisation des résultats.

Si le serveur est bien configuré, nous devons obtenir une fenêtre comme celle ci-dessous. Elle permet de voir les projets configurés sur le serveur, et d'un seul coup d'oeil l'etat de la dernière compilation ainsi que son numéro et son état actuel.

Lorsque l'on sélectionne un projet, l'ensemble des balises qui ont été enregistrées dans le fichier de configuration sont affichées et modifiables. Cette fenêtre est divisée en trois parties, celle représentant la liste des balises présentes sous forme d'une arborescence, la zone d'affichage des propriétés, ainsi qu'une aide afin de comprendre l'utilité de certaines fonctions.

Lors de l'ajout de certaines balises, un choix vous est proposé afin de sélectionner celle qui vous convient selon ce que vous avez décidé de faire.

Il ne vous reste plus qu'a remplir les différentes propriétés correspondantes. Dans l'exemple ci-dessous nous allons configurer le chemin vers le repertoire local du code source utilisé par le logiciel pour compiler.

Ce logiciel ayant pour but la mise en place de l'intégration continu, il est possible de configurer des logiciels de gestionnaire de code source tels que SVN, CVS, etc.. Dans notre exemple, nous configurons un SVN.

Pour compiler correctement, la plupart des gros projets utilisent des gestionnaires de projet tel que ant, maven, etc. Dans notre exemple nous avons choisi de travailler avec un build.xml, nous configurons donc le chemin d'accès à l'exécutable de ant, ainsi que le chemin d'accès menant au fichier build.xml du projet.

Cruise Control™ permet également de produire des artefacts ou réaliser certaines actions selon ce qu'on a défini dans le fichier de configuration. Il est donc possible de prévoir des actions si la compilation a réussi (onsuccess), si elle a échoué (onfailure). Ces actions peuvent être variée, par exemple il est possible de générer des archives jar, d'envoer des mails de rapport ou des mails d'invitation, etc.

 

Attention: Dans le cas ou vous souhaiteriez envoyer des emails aux membres de votre équipe lorsqu'un erreur à été découverte dans leur code, il est indispensable que leurs identifiants sur le gestionnaire de projet soir leur adresse email.
 

Dans l'exemple ci-dessous, nous avons spécifié au programme qu'en cas de succès à la compilation, nous allons créér une archive jar.