72 votes

Quelle est la différence entre l’Hudson et CruiseControl pour projets Java ?

Je pense que le titre résume. Je veux juste savoir pourquoi une ou l’autre est meilleur pour les générations de l’intégration continue des projets Java de Svn.

117voto

Jonik Points 18905

Je suis d'accord avec cette réponse, mais je voulais ajouter quelques points.

En bref, Hudson (mise à jour: Jenkins) est probablement le meilleur choix maintenant. D'abord et avant tout parce que la création et la configuration d'emplois ("projets", dans CC vocabulaire) est donc beaucoup plus rapide par le biais d'Hudson à l'INTERFACE web, par rapport à l'édition de CruiseControl du fichier de configuration XML (ce qui nous permet de garder le contrôle de version, juste pour garder une trace de mieux). Ce dernier n'est pas particulièrement difficile - il n'est tout simplement plus lent et plus fastidieux.

CruiseControl a été grand, mais comme il est noté dans Dan Dyer du bien-nommée blog, Pourquoi êtes-vous toujours pas à l'aide d'Hudson?, il souffre peut-être d'abord. (Euh, comme la grande-Bretagne, si l'on veut, plus tard dans la révolution industrielle, quand les autres ont commencé à dépasser avec les technologies les plus récentes.)

Nous avons utilisé CruiseControl fortement et ont progressivement changé au cours de l'Hudson, enfin de l'utiliser exclusivement. Et encore plus fortement: dans ce processus, nous avons commencé à utiliser le serveur CI pour beaucoup d'autres choses qu'avant, que la mise en place et la gestion d'Hudson emplois est donc à portée de main. (Nous avons maintenant quelques 40+ emplois à Hudson: l'habitude de génération et de test des emplois stables et des branches de développement; les emplois liés à la libération (bâtiment, installateurs, etc); les travaux qui s'exécutent certains (expérimental) les paramètres de la base de code; ceux qui s'exécutent (lent) ou de l'INTERFACE utilisateur tests d'intégration à l'égard d'une version de base de données; et ainsi de suite.)

À partir de cette expérience, je dirais que même si vous avez beaucoup de constructions, y compris les complexes, Hudson est un joli choix sécuritaire parce que, comme CC, vous pouvez l'utiliser pour n' importe quoi, en gros. Il suffit de configurer votre travail à exécuter n'importe quelle Ant ou Maven cibles, les scripts shell Unix ou Windows .chauve-souris scripts, dans l'ordre que vous souhaitez.

Comme pour les trucs 3ème partie (mentionné ici par Jeffrey Fredrick) - c'est un bon point, mais mon impression est que Hudson est de rattraper rapidement leur retard, et qu'il y a déjà un très grand nombre de plugins disponibles .

Pour moi, les deux choses que je peux nom que je manque de CruiseControl sont:

  1. Ses courriels d'avertissement à propos de cassé construit sont plus informatifs que ceux de l'Hudson. Dans la plupart des cas la cause est évidente à partir de CC est bien formaté en HTML mail lui-même, alors qu'avec Hudson habituellement, j'ai besoin de suivre le lien pour Hudson INTERFACE web, et cliquez sur autour un peu pour obtenir les détails.
  2. Le CruiseControl tableau de bord est mieux adapté, hors de la boîte, comme une "information radiateur" (affiché sur un moniteur, ou projetée sur un mur, de sorte que vous pouvez toujours voir rapidement l'état de tous les projets). Avec la première page, nous avons besoin de quelques Greasemonkey astuces pour obtenir de l'emploi des lignes toutes joliment vert/rouge.

Mineur avertissement: je n'ai pas été à la suite de la CC du projet en étroite collaboration pour la dernière année ou ainsi. (Mais à partir d'un rapide coup d'oeil, il n'a pas changé de manière dramatique.)

Note (2011-02-03): Hudson a été renommé/fourche comme Jenkins (Hudson créateur kohsuke nous Kawaguchi et autres). Il semble que si Oracle-qui contrôle l'Hudson nom-va garder "Hudson" autour de trop, mais ma recommandation personnelle est d'aller avec Jenkins, peu importe ce que l'Oracle dit.

36voto

Jeffrey Fredrick Points 3531

Comme un long temps CruiseControl committer et quelqu'un qui n'a jamais utilisé d'Hudson je suis assez biaisé, mais de mon point de vue c'est:

Hudson est beaucoup plus facile de se lever et de courir (en grande partie d'une belle interface web) et est très active au développement d'un plugin de la communauté.

CruiseControl a le soutien de beaucoup de trucs 3ème partie et a l'avantage de faire quelques trucs avec le xml de configuration, comme plugin de préconfiguration et comprennent.les projets qui vous permet de vous version les informations de configuration du projet.

Si vous allez seulement d'avoir un peu de builds je pense que Hudson est le gagnant clair. Si vous allez avoir beaucoup -- et ne pas l'esprit de l'xml -- puis je pense que CruiseControl xml de configuration figures deviennent une véritable force.

30voto

toolkit Points 27248

Mon dernier projet, nous avons commencé CruiseControl. Qui a secoué. Puis nous avons déménagé à Hudson, qui a secoué encore plus. Les choses que j'ai aimé à propos de Hudson:

  • En amont et en aval des projets. Donc une validation de votre code d'accès aux données finira par déclencher une accumulation de la couche de présentation.

  • Facilement utiliser un projet existant comme point de départ d'un nouveau - donc, si vous avez l'habitude de créer des branches de développement, puis en assurant que ce n'est en vertu d'intégration continue est un composant logiciel enfichable.

15voto

erickson Points 127945

Une différence est que Hudson est le produit d’une intelligence de génie unique — Kohsuke Kawaguchi. À cause de cela, c’est solide uniforme, cohérente et rock. L’inconvénient serait une limitation sur le rythme de progression. Toutefois, Kohsuke est incroyablement prolifique, donc je ne serais pas trop inquiet à ce sujet. Et, il est extensible, donc s’il y a quelque chose de Kohsuke n’a pas de temps pour (ou ne veut pas), vous pouvez probablement le faire vous-même.

4voto

Mark Points 14208

J’ai regardé à la fois régulateur et Hudson, mais choisir Hudson, tel qu’il était beaucoup plus facile à installer et à configurer. Hudson semble très largement utilisé de nos jours avec des communiqués réguliers et beaucoup d’extensiblity grâce à des plugins. Je le recommanderais fortement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X