Serveurs d’intégration CruiseControl Vs Hudson

Septembre 2016

Le but de cet faq partie est d’établir une comparaison entre les deux serveurs d’intégration CruiseControl et Husdon.

Rappel sur les principales fonctionnalités d’un serveur d’intégration


Principalement les serveurs d’intégration permettent de :
  • Communiquer avec un serveur de gestion de code source (SVN, CVS, VSS…) et faire les updates des modifications détectés dans un répertoire local.
  • Lancer un ou plusieurs script ant ou maven selon le besoin pour faire le compile, le paquetage des fichiers d’archive (jar, war et ear).
  • Intégrer des plugins pour l’audit de code, les tests et la mesure de la couverture des tests unitaires tels que findBugs, checkStyle, PMD, emma, cobertura…
  • Exécution des scripts de lancement des tests cactus.
  • Lancement de serveur d’application et déploiement des applications J2EE moyennant des script ant et maven.
  • Définir les dépendances inter-projets.
  • Exécuter des tâches de publications tels que l’envoi de mail de notification sur le déroulement de processus de build, le résultat de build et le résultat des tests.
  • Envoi de mail de notification pour les personnes qui ont cassé le code.
  • Etablir des synthèses et des métriques sur le processus de build.


Le processus de build automatisé et récursif permet de
  • Détection efficace des bugs dans les différents niveaux : unitaire, intégration, fonctionnel et déploiement …
  • Augmenter la confiance dans le code produit.
  • Augmenter l’efficacité des développeurs.
  • Garantir la qualité de code produit.
  • Réagir à temps par rapport aux erreurs d’intégration et ne pas laisser déraper le projet.

Comparaison Hudson/CruiseControl

  • Existence d’interface web : Les deux serveurs disposent des interfaces web. Ils sont d’ailleurs composés d’applications Web.
  • Ergonomie et intuitivité des IHM : Les IHM de Hudson sont plus conviviaux et plus intuitifs.
  • Richesse en fonctionnalités : Les deux serveurs permettent pratiquement de mettre en œuvre les mêmes fonctionnalités.
  • Portabilité : Les deux serveurs sont constitués d’application J2EE.
  • Niveau de difficulté d’installation et de configuration : La configuration de CruiseControl est moins intuitive.
  • Gestion des utilisateurs : CruiseControl ne prévoit pas la gestion des utilisateurs.
  • Richesse en plugin : Les principaux plugins les plus utilisés sont disponibles pour les deux serveurs.
  • Evolutivité des IHM et possibilité d’ajout IHM : CruiseControl permet d’ajouter des IHM pour findBugs, checkStyle…
  • Metric/synthèse/reporting : Les IHM relatives au reporting, metric et synthèse des builds sont plus développés dans cruiseControl que Hudson
  • Evolutivité et pérennité : Une évolution continue est remarquée pour les deux serveurs (nombre de versions et des mises à jours existant sur les deux sites)
  • Documentation : Hudson est plus récent que CruiseControl. Ainsi CruiseControl est plus riche en documentation consistante.
  • Disponibilité des informations sur les bugs et les astuces liées aux serveurs dans les forums : CruiseControl a l’avantage d’être plus présent dans les forums avec des informations abondantes sur les bugs, la configuration et plein d’autres questions techniques, vu sans ancienneté.

Conclusion


En conclusion les deux serveurs d’intégration permettent pratiquement les mêmes fonctionnalités avec un léger avantage pour CruiseControl compte tenu de la richesse de ses IHM de reporting, de son évolutivité et surtout la richesse de la documentation. Par ailleurs migrer d’un serveur à l’autre n’est pas vraiment une tâche difficile ou coûteuse. Ainsi CruiseControl est choisi comme serveur d’intégration pour l’environnement de développement intégré cible. Et si Hudson prend l’avantage dans le future il est simple de migre vers ce serveur.

A voir également :

Ce document intitulé «  Serveurs d’intégration CruiseControl Vs Hudson  » 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.