web-dev-qa-db-fra.com

Comment choisir entre Hudson et Jenkins?

Il m'a fallu environ une heure pour comprendre que Hudson n'a que récemment branché (janvier/2011)
Je ne sais pas à quel point le changement de chaque branche est maintenant rapide, mais plus important encore, quelle est la direction prise par chaque branche et quels sont les points clés pour pouvoir choisir entre les choix?

Quelqu'un a-t-il des liens vers la feuille de route du produit et les différences de fonctionnalités?

449
Greg Domjan

Utilisez Jenkins.

Jenkins est le récent fork par les principaux développeurs de Hudson. Pour comprendre pourquoi, vous devez connaître l'historique du projet. Il était à l'origine open source et soutenu par Sun. Comme beaucoup de ce que Sun a fait, c'était assez ouvert, mais il y avait un peu de négligence bénigne. Les sources, les trackers, le site Web, etc. ont été hébergés par Sun sur leur plate-forme Java.net, relativement fermée.

Ensuite, Oracle a acheté Sun. Pour diverses raisons, Oracle n'a pas hésité à exploiter ce qu'il considère être ses actifs. Ceux-ci incluent un certain contrôle sur la plate-forme logistique de Hudson, et en particulier un contrôle sur le nom Hudson. De nombreux utilisateurs et contributeurs n'étaient pas à l'aise avec cela et ont décidé de partir.

Cela revient donc à ce que Hudson vs Jenkins propose. Hudson et Jenkins d'Oracle ont le code. Hudson bénéficie du support d’entreprise Oracle et Sonatype et de la marque. Jenkins a la plupart des développeurs principaux, la communauté et (jusqu'à présent) beaucoup plus de travail réel.

Lire ce message que j'ai relié en haut, alorslirele reste deceux-cien chronologique = ordre . Pour l’équilibre, vous pouvez lire Hudson/Oracle prenez-le . C'est assez clair pour moi qui joue la défensive et qui a de réelles intentions pour le projet.

501
chmullig

Comme a écrit chmullig , utilisez Jenkins . Quelques points supplémentaires:

... et un peu d'informations de fond:

Le créateur d'Hudson, Kohsuke Kawaguchi , a commencé le projet pendant son temps libre, même s'il travaillait pour Sun Microsystems et qu'il a ensuite payé pour le développer. Comme @ erickson a noté à une autre SO question ,

[Hudson/Jenkins] est le produit d'un intellect de génie unique, Kohsuke Kawaguchi. À cause de cela, il est cohérent, cohérent et solide.

Après l’acquisition par Oracle, Kohsuke ne s’est pas attardé longtemps (en raison de manque de moniteurs ...? ; -]), et est allé travailler pour CloudBees . Ce qui a commencé à la fin de 2010 en tant que conflit d’outils entre la communauté de développeurs et Oracle et qui s’est terminé par la modification du nom/division/division est bien documenté dans les liens fournis par chmullig. Pour moi, toute cette énigme témoigne, peut-être plus que d’autre chose, de l’incapacité ou de la réticence totale d’Oracle à parrainer un projet open source de manière à satisfaire toutes les parties (Oracle, développeurs, utilisateurs). Ce n'est pas dans leur ADN ou quelque chose, comme nous l'avons vu dans autrecas aussi.

Compte tenu de tout ce qui précède, je suivrais personnellement Kohsuke et d’autres développeurs principaux dans ce domaine, et suivrais avec Jenkins.

114
Jonik

Juste mon point de vue, trois mois plus tard:

Jenkins a continué le chemin emprunté par le premier Hudson avec des versions fréquentes, y compris de nombreuses mises à jour mineures.

Oracle semble avoir largement délégué le travail sur le futur chemin d’Hudson à l’équipe Sonatype, qui a effectué des changements importants, notamment en ce qui concerne Maven. Ils l'ont conjointement transféré à la fondation Eclipse.

Je suggérerais que si vous aimez le son de:

  • versions moins fréquentes mais dont la compatibilité avec les versions antérieures est davantage testée (plus d'un cycle de publication de type "entreprise")
  • un produit principalement axé sur une intégration forte de Maven et/ou de Nexus (c'est-à-dire que vous n'avez aucun intérêt pour Gradle et Artifactory, etc.)
  • offres de support professionnel de Sonatype ou peut-être Oracle de préférence à Cloudbees, etc.
  • ça ne vous dérange pas d'avoir une petite communauté de développeurs de plugins, etc.

, alors je suggérerais Hudson.

Inversement, si vous préférez:

  • mises à jour plus fréquentes, même si elles nécessitent des ajustements un peu plus fréquents et sont peut-être légèrement plus risquées en termes de compatibilité (davantage de cycle de publication "récent et optimal")
  • un système avec un support de communauté plus actif pour, par exemple, d'autres référentiels de systèmes de construction/artefacts
  • offres de soutien du créateur original et al. et/ou vous n'avez aucun intérêt pour le support professionnel (par exemple, vous êtes heureux tant que vous pouvez obtenir une solution dans le "dernier et meilleur" de la semaine prochaine)
  • un brassage de sorcières à l'OSS classique d'un écosystème de développement

alors je suggérerais Jenkins. (et comme le note un commentateur, Jenkins a maintenant aussi des versions "LTS" qui sont maintenues sur une branche plus "stable")


La solution conservatrice consisterait à choisir Hudson maintenant et à migrer vers Jenkins si les fonctionnalités indispensables ne sont pas disponibles. La solution dynamique consisterait à choisir Jenkins maintenant et à migrer vers Hudson si le suivi des mises à jour prend trop de temps à justifier.

90
Zac Thompson

Au début ... Je suis un auteur de Hudson et auteur du livre Hudson, mais je n'ai pas participé à la totalité des projets.

En tout cas voici mon conseil:

Découvrez les deux et voyez ce qui correspond le mieux à vos besoins.

Hudson achèvera la migration pour devenir un projet de niveau supérieur Eclipse plus tard cette année et a rassemblé de nombreux développeurs à temps plein, des responsables de l'assurance qualité et d'autres personnes travaillant sur le projet. Il est toujours performant et compte de nombreux utilisateurs. En tant que serveur CI par défaut chez Eclipse, il continuera de répondre aux besoins de nombreux développeurs Java. En regardant la feuille de route et les plans pour l'avenir, vous pouvez voir qu'après l'intégration de Maven 3 réalisée avec la version 2.1.0, de nombreuses autres fonctionnalités intéressantes sont à venir.

http://www.Eclipse.org/hudson

Jenkins, de l’autre côté, a conquis de nombreux utilisateurs d’Hudson et compte une vaste communauté d’utilisateurs sur plusieurs technologies. De nombreux développeurs y travaillent également.

A ce stade, les deux serveurs CI sont d'excellents outils à utiliser et, en fonction de vos besoins en termes de technologie, l'intégration à l'un ou à l'autre peut être meilleure. Les deux produits sont disponibles en tant que source ouverte et vous pouvez obtenir un support commercial de différentes sociétés pour les deux.

En tout cas, si vous n'utilisez pas encore de serveur CI, commencez par l'un d'eux et vous verrez d'énormes avantages.

Mise à jour janvier 2013: Après un long processus de nettoyage IP et d’autres améliorations, Hudson 3.0 est désormais disponible dans la première version approuvée de la fondation Eclipse.

48
Manfred Moser

Jenkins est la nouvelle Hudson. Cela ressemble plus à un changement de nom, pas à une modification, depuis que toute la communauté du développement a déménagé à Jenkins. (Oracle reste assis dans un coin et tient son vieux ballon "Hudson", mais c'est juste un projet sans âme maintenant.)

C.f. Ethereal -> WireShark

38
Nathan Kidd

J'ai deux points à ajouter. Un, Hudson/Jenkins est tout au sujet des plugins. Les développeurs de plugins ont migré vers Jenkins et nous devrions en faire de même, les utilisateurs. Deuxièmement, je ne suis pas personnellement un grand fan des produits Oracle. En fait, je les évite comme la peste. Pour l'argent dépensé en licences et en matériel pour une solution Oracle, vous pouvez embaucher deux fois le personnel d'ingénierie et il vous en reste quelques-uns pour acheter de la bière tous les vendredis :)

27
Tim Fulmer

Pour ceux qui ont évoqué un rapprochement potentiel pour Hudson et Jenkins, avec le fait que Jenkins rejoindra SPI , il est peu probable qu’ils se réconcilient à ce stade.

4
Chad Wilson

Sur le site Web de Jenkins, http://jenkins-ci.org , ce qui suit le résume.

En résumé, Jenkins CI est le premier serveur d’intégration continue open-source. Construit avec Java, il fournit plus de 300 plugins pour prendre en charge la construction et le test de pratiquement n'importe quel projet.

Oracle est maintenant propriétaire de la marque Hudson, mais l’a licenciée sous le symbole Eclipse EPL . Jenkins est sur le licence MIT . Hudson et Jenkins sont open-source. Basé sur la combinaison de qui vous travaillez et de votre préférence personnelle pour l'open source, la décision est simple, à mon humble avis.

J'espère que c'était utile.

4