28 août 2007

Intégration continue

J'ai utilisé jusqu'ici CruiseControl comme serveur d'intégration continue. Son support des projets maven2 est perfectible et son interface de configuration inexistante.

J'ai donc testé Continuum qui est a priori l'outil le mieux adapté pour maven. En pratique, il me manque une fonctionnalité clé : l'envoi du log aux personnes qui ont "cassé" le build (c'est dans la roadmap, mai pour quand ?).

Sur ce semi-échec, j'ai donc essayé Hudson. Le support de maven2 est en "beta" mais est déjà très correct. L'interface graphique est conviviale, et de nombreux plugins permettent de compléter le processus : vérifier que les violations checkstyle/PMD/findbugs ne dépassent pas un certain seuil, compter les "TODO" dans le code source... Il me manque tout de même une fonctionnalité : Hudson n'envoie le log d'erreur qu'au derniers auteurs de commits, pas à tout ceux qui sont intervenus depuis le dernier build stable. Les releases de Hudson étant très fréquentes, j'ai bon espoir...