Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express

Hudson, l'intégration continue certifiée Bio

2 avril, 2008

Sur une idée de Guillaume Carré de Xebia, j’ai testé Hudson. Il s’agit d’un serveur d’intégration continue basé sur un moteur d’exécution d’activités répétées et de surveillance de tâches. Vous pouvez donc vous en servir comme un CruiseControl pour effectuer de l’intégration continue… mais pas seulement !

Chez nous ce n’est pas une fermette, mais vraiment des fermes de serveur avec des serveurs CruiseControl élevés en batterie qui compilent, intègrent et déploient chaque nuit nos applications. En majorité pour des projets Java, il y a des intégrations réussies de C/C++.
Le souci je crois, c’est que nos poulets bios sont plutôt devenus des poulets industriels élevés en batterie… CruiseControl c’est bien si vous apprenez à vous en servir et si vous faîtes l’effort de le nettoyer de temps en temps… Or je me rends compte que, faute d’une interface de configuration simple, les développeurs tendent à laisser tourner CruiseControl comme un hamster dans sa roue.

Hudson en premier séduit par son interface Web d’administration et de gestion. En quelques cliques de souris vous pouvez préparer votre projet et lancer vos premières compilations… La classe.
Pour lancer Hudson via Java Web Start cliquez-ici puis une fois l’installation effectuée, regardez sur http://localhost:8080.

Ensuite notre machine à élever le bon grain est assez bien architecturée car j’ai vu que le système pouvait fonctionner en effectuant des builds parrallèles. CruiseControl est synchrone et n’effectue qu’une seule build à la fois. Souvenez-vous de TeamCity, le produit de JetBrains, qui faisait cela très bien, sous la condition de dépenser quelques dollars (il existe une version gratuite, allez vérifier sur le site de JetBrains).
Hudson est capable par exemple d’effectuer un job de vérification régulièrement et de vous donner un état. Première application pour nous : vérifier que nos urls de démonstrations sont actives et fonctionnent avant que ce ne soit les gens de l’équipe qualité qui s’en rendent compte.

Du côté de l’intégration continue, Hudson peut surveiller votre repository et s’activer lorsqu’un utilisateur effectue un commit (classique). Il peut ensuite sauvegarder les artefacts générés. Et la fonction la plus intéressante que je n’ai pas testée : la possibilité de rappeler une build. C’est un système très pratique qui permet de relancer une build de release pour les clients qui souhaitent une version un peu ancienne de votre produit. Pour notre part, nous ne faisons pas que de la compilation. Chaque nuit nous effectuons la publication sur notre repository d’une snapshot afin que nos clients puissent intégrer en continu sans attendre une release. Bien entendu il y a des releases officielles, mais nous effectuons celles-ci manuellement avec Maven.

Voici par exemple le tableau de bord de JBoss pour vous donner une idée en live de ce que cela peut donner :
https://hudson.jboss.org/hudson/

Bref je pense qu’il sera intéressant de généraliser Hudson, au moins pour les nouveaux projets, car l’administration est vraiment plus simple.

Merci à Guillaume.

A tester donc chez vous avec vos poulets.

Articles similaires:

Default ThumbnailComparaison de différents logiciels d'intégration continue

Derniers articles

  • Le chiffrement de bout en bout et la signature d’enveloppe

    Cela va faire bientôt un an que j’ai rejoint Doctolib. La sécurité

    8 mars, 2022
  • L’entretien de recrutement « System Design »

    Si vous postulez chez Doctolib, il y a une petite chance pour

    19 janvier, 2022
  • Retour sur la soirée du lundi 12 juillet chez Doctolib

    Nous sommes le lundi 12 juillet, il est 20h05 et comme pas

    14 août, 2021

Tweets @nmartignole

  • Affirmation fausse = « 1 mn de YouTube c’est X grammes de CO2 ». Fausse car l’électricité n’est pas produite par le… https://t.co/3S4E3AREJv

    49 minutes ago
  •  @Bpifrance   @AlbaneBruyas  Je crois bien que  @pbeyssac  et  @waxzce  ont expliqué qu’il était important de ne pas se lan… https://t.co/9FVTKIG5tc

    54 minutes ago
  •  @b_labaere  Surtout un coup des 486 personnes côté product/tech qui font un sacré travail.

    22 hours ago

Mots clés

Apple (32) Architecture (13) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (1) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (13) Perso (264) Recrutement (2) Scala (30) scrum (43) Société (2) Startup (20) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur Twitter : @nmartignole

Copyright© 2008 - 2020 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Log In
  • My Account
  • My Profile
  • Reset Password

Le Touilleur Express