Question

Je pense que le titre le résume. Je veux juste savoir pourquoi l’un ou l’autre convient mieux aux générations d’intégration continue de projets Java de Svn.

Était-ce utile?

La solution

En tant que responsable de CruiseControl et qui n’a jamais utilisé Hudson, je suis plutôt partial, mais j’en prends pour acquis:

Hudson est beaucoup plus facile à utiliser (en grande partie à partir d’une belle interface Web) et possède une communauté de développement de plugins très active.

CruiseControl bénéficie du soutien de nombreux informations tierces et bénéficie des avantages suivants: Faites quelques astuces avec la configuration XML, comme la préconfiguration de plug-in et include.projects, qui vous permettent de mettre à jour les informations de configuration avec le projet.

Si vous ne disposez que de quelques versions, je pense que Hudson est le grand gagnant. Si vous allez en avoir beaucoup - et que le xml ne vous dérange pas - alors je pense que les astuces de configuration xml de CruiseControl deviennent une véritable force.

Autres conseils

Je suis d'accord avec les 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 de tâches ("projets" dans le vocabulaire CC) sont simplement beaucoup plus rapides dans l'interface Web de Hudson, par rapport à l'édition du fichier de configuration XML de CruiseControl (que nous conservions auparavant dans le contrôle de version). juste pour mieux le suivre). Ce dernier n’est pas particulièrement difficile, c’est tout simplement plus lent et plus fastidieux.

CruiseControl a été formidable, mais comme le note le billet de blog de Dan Dyer, Pourquoi n'utilisez-vous toujours pas Hudson? , il souffre d'être le premier. (Euh, comme la Grande-Bretagne, si vous voulez, plus tard dans la révolution industrielle, quand d'autres ont commencé à la dépasser avec de nouvelles technologies.)

Nous avons beaucoup utilisé CruiseControl et avons peu à peu basculé sur Hudson, pour l’utiliser enfin exclusivement. Et encore plus : dans ce processus, nous avons commencé à utiliser le serveur CI pour de nombreuses autres tâches, car la configuration et la gestion des tâches Hudson sont très pratiques. (Nous avons maintenant plus de 40 emplois à Hudson: les travaux de construction et de test habituels pour les branches stable et de développement; les travaux liés à la libération (installation d'installateurs, etc.); les travaux qui exécutent des métriques (expérimentales) par rapport à la base de code; lent) tests d’interface utilisateur ou d’intégration par rapport à une version spécifique de la base de données, etc.)

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

En ce qui concerne les éléments tiers ( mentionné ici par Jeffrey Fredrick ) - c’est un bon point, mais j’ai l’impression que Hudson rattrape rapidement son retard et qu’il existe déjà un très grand nombre de plugins disponibles pour cela.

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

  1. Ses courriels d'avertissement concernant les versions endommagées étaient plus instructifs que ceux d'Hudson. Dans la plupart des cas, la cause fondamentale était évidente dans le courrier HTML bien formaté de CC lui-même, alors qu'avec Hudson, je dois généralement suivre le lien vers l'interface utilisateur Web de Hudson et cliquer un peu pour obtenir les détails.
  2. Le le tableau de bord CruiseControl est mieux adapté, par défaut, comme un " << a href = "http://www.agileadvice.com/archives/2005/05/information_rad.html" rel = "nofollow noreferrer"> radiateur d'information " (affiché sur un moniteur public ou projeté sur un mur, afin que vous puissiez toujours voir rapidement l’état de tous les projets). Avec la page de couverture de Hudson, nous avions besoin de quelques astuces de Greasemonkey pour obtenir des rangées de tâches bien vert / rouge.

Clause de non-responsabilité: Je n’ai pas suivi le projet CC de près depuis environ un an. (Mais à partir d'un aperçu rapide , cela n'a pas changé de façon spectaculaire.)

Remarque (2011-02-03): Hudson a été renommé / créé comme Jenkins (par le créateur de Hudson Kohsuke Kawaguchi et autres). Il semble que Oracle & 8212; qui contrôle le nom Hudson & # 8212; conserve & Hudson . La recommandation personnelle est d’aller avec Jenkins , peu importe ce que dit Oracle.

Mon dernier projet, nous avons démarré sous CruiseControl. Qui a secoué. Ensuite, nous avons déménagé à Hudson, qui a encore plus basculé. Les choses que j’ai aimé à propos de Hudson:

  • Les projets en amont et en aval. Ainsi, une validation de votre code d’accès aux données déclenchera éventuellement également la création de la couche de présentation.

  • Utilisez facilement un projet existant comme point de départ d'un nouveau projet. Si vous avez l'habitude de créer des branches de développement, vous assurer qu'elles sont en cours d'intégration continue est un jeu d'enfant.

Une différence est que Hudson est le produit d’un intellect de génie unique, Kohsuke Kawaguchi. À cause de cela, il est cohérent, cohérent et solide. L'inconvénient pourrait être une certaine limitation du taux de progrès. Cependant, Kohsuke est incroyablement prolifique, je ne m'inquiéterais donc pas trop pour cela. Et, il est extensible. Si Kohsuke n’a pas le temps (ou ne veut pas) de faire quelque chose, vous pouvez probablement le faire vous-même.

J’ai jeté un coup d’œil sur Cruise Control et Hudson, mais j’ai choisi Hudson, car il était beaucoup plus facile à installer et à configurer. Hudson semble très largement utilisé de nos jours avec des versions régulières et beaucoup d'extensibilité via des plugins. Je le recommande vivement.

Hudson est à mon avis l’alternative la plus conviviale. Il peut être configuré et maintenu complètement via l’interface Web (en dehors de la première installation de la webapp, bien sûr).

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

Malgré tout, après avoir utilisé les deux, je préférerais quand même un modèle plutôt que de ne pas en créer automatiquement.

J'ai essayé le régulateur de vitesse ... C'est bon ... Mais les documents sont fragmentés. Le tableau de bord est déroutant. La création de widgets est également source de confusion. Je n'ai jamais essayé Hudson. Je vais essayer le week-end.

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

Intégration continue de Projet Delphi avec Jenkins

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top