Tutoriel intégration continue : installation CruiseControl

////Tutoriel intégration continue : installation CruiseControl

Maîtrisez l’installation du serveur d’intégration continue open source CruiseControl. Comprenez les services que peuvent vous rendre cruise control. Découvrez les avantages et inconvénients de cruisecontrol par rapport à ses concurrents directs comme Continuum, Hudson. Automatisez les taches récurrentes liées au développement, test et déploiement de vos applications.

Liens utiles

 + de 100 tutoriaux java/jee Objis

 Objis, spécialiste formation java depuis 2005

 Catalogue formations Objis

 Matrice comparaison serveurs d’intégration continue

 Plugins CruiseControl

 Documentation fichier config.xml de CruiseControl

 Produit tiers : interface d’administration cc-config

 Produit tiers : Plugin Firefox CruiseControl Monitor

Formation Architecture Java

Soyez prêt pour des projets ambitieux : formation architecture Java Objis

programme-detaille-formation-architecture-java-objis

Programme

 Contexte

 Partie 1 : téléchargement

 Partie 2 : installation

 Partie 3 : analyse

 Partie 4 : démarrage

Durée

 15 min

Contexte, avantages et inconvénients

L’intégration continue est une technique puissante qui permet :

 garder en phase les équipes de développement

 limiter les risques et la complexité liée à la création par plusieurs développeurs d’un logiciel unique.

A intervalles réguliers, vous allez construire (build) et tester la dernière version de votre logiciel. Parallèlement, chaque développeur teste et valide (commit) son travail en ajoutant son code dans un lieu d stockage commun à tous les développeurs : le serveur de gestion de configuration.

tutoriel-integration-continue-objis-cycle-vertueux

Le tutoriel N°1 ‘comprendre l’intégration continue’ vous a présenté le ‘cycle vertueux de l’intégration continue’.Dans ce cycle vertueux, vous avez compris la valeur ajoutée d’un serveur d’intégration continue.

QUESTION : A quelle étape intervient un serveur d’intégration continue dans le shéma ci-dessus ?

Bien démarrer son projet

Les 4 éléments utiles pour démarrer un projet d’intégration continue sont :

 Repository de code source (CVS, Clearcase, Subversion…)

 Tests unitaires (JUnit, TestNG…)

 Serveur d’intégration continue

 Outils de communication (Mail, Tél, RSS…)

Avantages de CruiseControl

CruiseControl est le plus ancien serveur d’intégration continue. Il bénéficie ainsi :

 d’une base importante d’utilisateurs et

 d’une douzaine de plugins facilitant son intégration avec de nombreuses solutions de gestion de configuration et stratégies de build.

Intégration avec outils gestion code Source

 CVS, Subversion, Clearcase et bien d’autres à travers des plugins CruiseControl

Intégration avec outils de build

 Ant, NAnt (Ant pour .NET), Maven 1, Maven 2

Inconvénients

Pièce maîtresse de la stratégie agile de nombreux projets, CruiseControl est cependant décrié pour la courbe d’apprentissage de sa configuration.

Là ou d’autres produits (Hudson, Continuum, Luntbuild) se configurent graphiquement, CruiseControl encapsule sa configuration dans un fichier de configuration : le fichier config.xml

Quelques produits tiers contribuent cependant à une meilleur administration

 l’interface swing CC-Config, permettent cependant d’administrer CruiseControl, en mettant à jour de façon persistante le fichier config.xml.

 le plugin Firefox CruiseControl Monitor permet de monitorer le serveur CruiseControl

Partie 1 : téléchargement

 Avec votre navigateur , allez sur la page d’accueil du produit : http://cruisecontrol.sourceforge.net/

tutoriel-integration-continue-installation-cruise-control-1

 Cliquez sur le lien ‘download’ . L’écran suivant apparaît, présentant un lien vers la dernière version de cruise control disponible.

tutoriel-integration-continue-installation-cruise-control-2

 Cliquez sur le lien correspondant à la dernière version disponible (ici cruise conrol 3.8.2). L’écran suivant apparaît.

tutoriel-integration-continue-installation-cruise-control-3

 Cliquez sur le lien cruisecontrol-bin-2.8.2.zip. Le téléchargement commence…

tutoriel-integration-continue-installation-cruise-control-4

 Une fois le téléchargement terminé, déposez le zip dans répertoire c:formationintegcontinueoutilscruisecontrol

tutoriel-integration-continue-installation-cruise-control-5

La partie ‘téléchargement est désormais terminée. Reste à installer…

Partie 2 : installation

 Dézippez le fichier cruisecontrol-bin-2.8.2.zip téléchargez dans le répertoire c:formationintegcontinuecruisecontrol-bin-2.8.2

tutoriel-integration-continue-installation-cruise-control-6

ça y est : cruise control est installé ! Reste à le démarrer…

Partie 3 : Démarrage du serveur

 Déplacez-vous dans ce répertoire d’installation avec l’invite de commande (ms-dos) et lancez : cruisecontrol.bat

Ce script initialise le processus de construction en continue et démarre le conteneur de servlet Jetty.

tutoriel-cruise-cr=ontrol-installation-demarrage

Le serveur CruiseControl est démarré.

 Expliquez les logs de démarrage. Que s’est t’il passé ?

Changer les ports

Par défaut CruiseControl utilise les ports 8080 (serveur Jetty) et 8000 (monitoring JMX). Vous pouvez changer ces valeurs en démarrant le serveur avec paramètres webport et jmxport :

— cruisecontrol –webport 8888 –jmxport 9990

Partie 4 : Analyse

Répertoire ‘projects’

Notez dès à présent le répertoire ‘projects‘. C’est dans ce répertoire que vous allez déposer l’arborescence code source de votre application.

tutoriel-cruise-cr=ontrol-installation-repertoire-projects

Une application y est déja présente par défaut, pour démonstration.

Application ‘connectfour’

L’arborescence de l’application est la suivante :

tutoriel-cruise-cr=ontrol-installation-repertoire-projects-connectfour

QUESTION : quel serveur de gestion de code sources a hébergé le code de ce projet ?

Répertoire ‘etc’

Ce répertoire contient des fichiers de configuration. En particulier pour sécurisez l’accès (API JAAS) aux applications web de cruissecontrol.

tutoriel-cruise-cr=ontrol-installation-repertoire-etc

QUESTIONS : quels fichiers selon vous permettent de sécuriser l’accès aux applications serveur via HTTP ?

Fichier de configuration config.xml

Le fichier config.xml occupera toute notre attention par la suite pour configurer CC pour notre projet

Scripts

Remarquez les versions windows et unix des scripts, par exemple avec CruiseControl.bat et CruiseControl.sh

Répertoire lib

Le répertoire lib est le lieu de stockage des librairies du serveur

tutoriel-cruise-cr=ontrol-installation-repertoire-lib

— Remarquez que CruiseControl possède en interne une copie de ANT (ici ANT 1.7.0)

Répertoire webapps

— Notez le répertoire webapps qui contient plusieurs applications, dont l’interface de monitoring web.

tutoriel-cruise-cr=ontrol-installation-repertoire-webapps

 Testez les URLs suivantes :

— http://localhost:8080/documentation

— http://localhost:8080/cruisecontrol

— http://localhost:8080/dashboard

— http://localhost:8080/cc-config

 Expliquez

Partie 4 : Interface monitoring

CruiseControl vous permet de suivre les résultats de vos builds successifs.

 lancez un navigateur et allez sur l’adresse : http://localhost:8080/dashboard . L’écran suivant apparaît

tutoriel-integration-continue-installation-cruise-control-7

Onglet DashBoard

Vous pouvez à tout moment connaître l’état de vos builds :

— Lancé et terminé avec succès (vert)

— Lancé et terminé en echec (rouge)

— En court d’exécution (orange)

 non lancé (gris)

ici, vous constatez qu’un projet a été lancé et exécuté avec succès : le projet connectfour, livré par défaut avec CruiseControl.

Onglet Builds

tutoriel-integration-continue-installation-cruise-control-8

 Expliquez

Détail résultats d’un build

L’application ‘cruisecontrol’ (http://localhost:8080/cruisecontrol) permet d’obtenir des informations générales ou détaillées sur un build spécifique.

Informations générales

tutoriel-integration-continue-installation-cruise-control-9

— Le statut du build (ici en attente)

— La dernière fois qu’un build a été lancé avec résultat SUCCES

— La dernière fois qu’un build a été lancé avec résultat ECHEC

— le nom du build

Informations détaillées

 Lancez un build en appuyant sur le bouton ‘build’.

 Etudier les logs de la console (ms-dos),

 Etudiez le changement du statut du build.

 Cliquez sur le lien ‘connectfour’ pour avoir les informations du suild.

tutoriel-cruise-control-resultat-build-connectfour

 Expliquez :

— Combien de temps a duré le build ?

— Y at’il eu des erreurs ?

— Quelle livraison a été créée ?

 Combien de tests unitaires ont été lancés ? lesquels ?

— Quelle cibles Ant ont été lancés.

Interface JMX

 lancez un navigateur et allez sur l’adresse : http://localhost:8000 . L’écran suivant apparaît

tutoriel-integration-continue-installation-cruise-control-10

Il s’agit de la console de monitoring JMX des objet MBean du serveur CruiseControl.

Il vous permettra, par exemple de modifier la date et ne nom (label) du prochain build planifié, ou encore l’interval entre 2 builds.

Conclusion

Dans ce tutoriel, vous avez installé et analysé CruiseControl. Vous avez vu les avantages et inconvénient de ce produit, son contexte d’utilisation. Le tutoriel suivant vous permettra de configurer dans CruiseControl un projet construit avec Ant.

Formation Architecture Java

Soyez prêt pour des projets ambitieux : formation architecture Java Objis

programme-detaille-formation-architecture-java-objis

2018-01-27T18:17:41+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java