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


Je pense que le titre résume. Je veux juste savoir pourquoi l'un ou l'autre est meilleur pour les builds d'intégration continue de projets Java à partir de Svn.

Author: cjapes, 2009-03-03

8 answers

En tant que committer CruiseControl de longue date et quelqu'un qui n'a jamais utilisé Hudson, je suis assez biaisé, mais mon point de vue est:

Hudson est beaucoup plus facile à mettre en place (en grande partie à partir d'une interface web agréable) et dispose d'une communauté de développement de plugins très active.

CruiseControl a le support de beaucoup de3rd party stuff et a l'avantage de faire quelques astuces soignées avec la configuration xml comme la préconfiguration du plugin et include.des projets qui vous permettent version des informations de configuration avec le projet.

Si vous n'avez que quelques builds, je pense que Hudson est le gagnant. Si vous allez avoir beaucoup-et ne me dérange pas le xml-alors je pense que les astuces de configuration XML de CruiseControl deviennent une véritable force.

 36
Author: Jeffrey Fredrick, 2009-03-03 07:41:21

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

Bref, Hudson (mise à jour: Jenkins) est probablement le meilleur choix maintenant. Tout d'abord parce que la création et la configuration de jobs ("projets" dans le vocabulaire CC) est juste beaucoup plus rapide via l'interface utilisateur Web de Hudson, par rapport à l'édition du fichier de configuration XML de CruiseControl (que nous avons utilisé pour garder le contrôle de version juste pour mieux le suivre). Ce dernier n'est pas spécialement difficile - il est tout simplement plus lent et plus fastidieux.

CruiseControl a été génial, mais comme indiqué dans le blog bien nommé de Dan Dyer, Pourquoi n'utilisez-vous toujours pas Hudson?, il souffre d'être premier. (Um, comme la Grande-Bretagne, si vous voulez, plus tard dans la révolution industrielle, quand d'autres ont commencé à le dépasser avec des technologies plus récentes.)

Nous avons beaucoup utilisé CruiseControl et nous sommes progressivement passés à Hudson, pour finalement l'utiliser exclusivement. Et même plus fortement: dans le processus, nous avons commencé à utiliser le serveur CI pour beaucoup d'autres choses qu'auparavant, car la configuration et la gestion des tâches Hudson sont si pratiques. (Nous avons maintenant plus de 40 emplois dans Hudson: les travaux de construction et de test habituels pour les branches stables et de développement; les travaux liés à la libération (construction d'installateurs, etc.); les travaux qui exécutent des métriques (expérimentales) contre la base de code; ceux qui exécutent des tests d'interface utilisateur ou d'intégration (lents) contre une version)

De ceci expérience Je dirais que même si vous avez beaucoup de builds, y compris compliqués, Hudson est un choix assez sûr car, comme CC, vous pouvez l'utiliser pour faire n'importe quoi, fondamentalement. Configurez simplement votre travail pour exécuter les cibles Ant ou Maven, les scripts shell Unix ou Windows .scripts bat, dans l'ordre que vous souhaitez.

En ce qui concerne les choses 3rd party (mentionnées ici par Jeffrey Fredrick ) - c'est un bon point, mais mon impression est que Hudson rattrape rapidement, et que il y a déjà un très grand nombre de plugins disponibles pour elle.

Pour moi, les deux choses que je peux nommer qui me manquent à propos de CruiseControl sont:

  1. Ses courriels d'avertissement sur les builds cassés étaient plus informatifs que ceux de Hudson. Dans la plupart des cas, la cause première était évidente à partir du courrier HTML bien formaté de CC lui-même, alors qu'avec Hudson, je dois généralement suivre le lien vers Hudson Web UI et cliquer un peu pour obtenir les détails.
  2. Le CruiseControl dashboard est mieux adapté, prêt à l'emploi, comme un "radiateur d'information " (affiché sur un moniteur public, ou projeté sur un mur, de sorte que vous pouvez toujours voir rapidement l'état de tous les projets). Avec la première page de Hudson, nous avions besoin de quelques astuces Greasemonkey pour obtenir des lignes de travail bien vertes/rouges.

Avertissement mineur: Je n'ai pas suivi le projet CC de près depuis environ un an. (Mais d'un regard rapide, il n'a pas changé dans aucun façon spectaculaire.)

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

 117
Author: Jonik, 2017-05-23 11:53:23

Mon dernier projet, nous avons commencé sur CruiseControl. Qui a secoué. Ensuite, nous avons déménagé à Hudson, qui a encore plus secoué. Les choses que j'aimais chez Hudson:

  • Les projets en amont et en aval. Ainsi, un commit vers votre code d'accès aux données finira également par déclencher une génération 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 de s'assurer que ces sont sous l'intégration continue est un composant logiciel enfichable.

 30
Author: toolkit, 2009-03-02 22:55:15

Une différence est que Hudson est le produit d'un seul intellect de génie-Kohsuke Kawaguchi. Pour cette raison, il est cohérent, cohérent et solide comme le roc. L'inconvénient pourrait être une certaine limitation du taux de progrès. Cependant, Kohsuke est incroyablement prolifique, donc je ne serais pas trop inquiet à ce sujet. Et, c'est extensible, donc s'il y a quelque chose pour lequel Kohsuke n'a pas le temps (ou ne veut pas), vous pouvez probablement le faire vous-même.

 15
Author: erickson, 2009-03-02 22:46:11

J'ai regardé à la fois le régulateur de vitesse et Hudson mais j'ai choisi Hudson car il était beaucoup plus facile à configurer et à configurer. Hudson semble très largement utilisé ces jours-ci avec des versions régulières et beaucoup d'extensiblity grâce à des plugins. Je le recommande fortement.

 4
Author: Mark, 2009-03-02 23:08:40

Hudson est l'alternative la plus conviviale à mon avis. Il peut être mis en place et maintenu complètement via l'interface web (en dehors de l'installation initiale de la webapp, bien sûr).

La seule façon de le dire à propos de CruiseControl est de compter l'éditeur de fichiers XML intégré.

Pourtant, après avoir utilisé les deux, je préférerais toujours n'importe lequel plutôt que de ne pas avoir de construction automatisée.

 3
Author: Joachim Sauer, 2009-03-02 23:07:01

J'ai essayé le régulateur de vitesse...Sa bonne...Mais les documents sont fragmentés. Le tableau de bord est déroutant. La création de widgets est également déroutante. Je n'ai jamais essayé d'hudson. Vais essayer le week-end.

 1
Author: , 2009-06-17 17:18:38

J'ai récemment configuré Jenkins pour la construction de projets Borland BDS 2006 utilisant Subversion et j'en suis très content. Je n'ai encore jamais utilisé CruiseControl, donc je ne peux pas comparer. Lisez mon article de blog pour plus d'informations.

Intégration continue du projet Delphi avec Jenkins

 0
Author: Richard Zwinkels, 2016-02-18 22:20:07