L'intégration Continue

Exemple d'environnement: Java / Maven 2 / Hudson

A propos de Maven 2

Approche déclarative

Maven 2 est un outil de build évolué utilisant une approche déclarative de ses règles. Explication: à l'inverse des autres outils de build populaires comme Make ou Ant, Maven 2 possède par défaut un certain nombre de règles par défaut, avec un comportement prédéfini. Le fichier de configuration de Maven 2 (pom.xml) sert donc à spécialiser ces règles, pour qu'elles s'adaptent aux spécificités de notre projet. Cette approche invite à standardiser les pratiques, et le but est atteint: passer d'un projet Maven à un autre n'est pas dépaysant, les règles sont équivalentes, les comportements également.

Système de plug-ins

Maven 2 dispose également de nombreux plugins dédiés :génération de documentation/rapports, déploiement sur des serveurs d'application, packager les application, etc.

Gestion des dépendances

Maven 2 présente le grand avantage de gérer les dépendances transitives de bibliothèques, et agit comme un véritable gestionnaire de paquets. Ainsi, si vous avez besoin d'une bibliothèque particulière (typiquement, un jar), maven consulte son repository (local ou distant) et installe toutes les dépendances à ces bibliothèques, en s'arrurant qu'elles n'aient pas de dépendances elle-même. Une simple déclaration dans le pom.xml suffit à ajouter les bibliothèques que vous utiliserez.

Profils de déploiement

Différents profils de déploiement (debug, testing, production, etc.) peuvent être définis dans le fichier de configuration. Ce n'est donc plus de la responsabilité de l'application de gérer ces différents profils.

Installation de Hudson

Hudson est disponible nativement sur la plupart des distributions Linux et BSD.

Autrement, vous pouvez vous rendre sur le site officiel pour télécharger un WAR, déployable sur n'importe quel serveur d'application. Si votre architecture dispose déjà d'un serveur d'application, je conseille cette méthode pour simplifier d'éventuelles migrations futures.

Une fois Hudson installé ou déployé, son interface d'administration est accessible sur le port 8080.

Installation de Maven 2

Maven 2 existe sous forme de plug-ins pour les IDE les plus connus (Eclipse, NetBeans, etc.). L'ajout de ce plugin entraîne le support des fichiers pom.xml, qui serviront aux prochaines compilations.