Comment choisir entre Hudson et Jenkins? [fermé]

451

Il m'a fallu environ une heure pour comprendre qu'Hudson n'a fait que se ramifier récemment (janvier 2011)
Je n'ai aucune idée de la rapidité avec laquelle le changement de chaque branche est maintenant, mais plus important encore, quelle est la direction que prend chaque branche et quelles sont les clés points pour que l'on puisse faire un choix entre lequel aller?

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

Greg Domjan
la source
4
qu'avez-vous fini par choisir entre Jenkins et Hudson?
chmullig
109
@Kev: Je ne suis pas d'accord, que cette question n'est pas constructive. Ce n'est pas un débat comme "x vs y, lequel préférer", mais il s'agit d'une branche d'Hudson, qui est une information très utile.
tanascius
9
Oui, ce fil doit être rouvert pour des réponses plus à jour.
djangofan
2
@djangofan Il y avait déjà une question complémentaire un an après: stackoverflow.com/q/11433083/234938 - et maintenant, un an plus tard, la situation est toujours la même.
Christopher Orr
5
Je comprends la nature dangereuse de ce type de question, mais il me semble que (i) il a soulevé des informations très intéressantes, (ii) n'a pas déclenché de différend et (iii) est légitime car il n'est pas facile choisir sans ce genre d'informations
lab419

Réponses:

503

Utilisez Jenkins .

Jenkins est le récent fork des développeurs principaux de Hudson. Pour comprendre pourquoi, vous devez connaître l'historique du projet. Il était à l'origine open source et pris en charge par Sun. Comme une grande partie de ce que Sun a fait, il était assez ouvert, mais il y avait un peu de négligence bénigne. La source, les trackers, le site Web, etc. ont été hébergés par Sun sur leur plateforme java.net relativement fermée.

Puis Oracle a acheté Sun. Pour diverses raisons, Oracle n'a pas hésité à tirer parti de ce qu'il perçoit comme ses actifs. Ceux-ci incluent un certain contrôle sur la plate-forme logistique de Hudson, et en particulier le contrôle sur le nom de 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 offre. Hudson et Jenkins d'Oracle ont tous deux le code. Hudson a le support d'entreprise d'Oracle et Sonatype et la marque. Jenkins a la plupart des développeurs principaux, la communauté et (jusqu'à présent) un travail beaucoup plus réel.

Lire ce poste je Reliée haut, puis lisez le reste de ces par ordre chronologique ordre . Pour l' équilibre , vous pouvez lire l'Hudson / Oracle prendre sur elle . Il est assez clair pour moi qui joue en défensive et qui a de réelles intentions pour le projet.

chmullig
la source
10
«la plupart des gens derrière» - cela semble être le cas des fondateurs du projet, mais il convient de noter que Sonotype (Maven inc) s'est engagé du côté de Hudson, avec une série de changements architecturaux dans le pipeline . Sera intéressant de voir si l'équipe Jenkins a encore assez d'inovation dans ses manches pour conserver le développeur / utilisateur mindshare
magicduncan
5
@magic: Au moins sur la base de cette brève comparaison , quinze jours après la scission, Jenkins est de loin plus actif. En tout cas, pendant que je suis avec Jenkins , il est intéressant de voir ce que font les gars de Sonatype.
Jonik
14
Voici une autre mise à jour de la personne qui a écrit la brève comparaison de @ Jonik. Celui-ci est ~ 2 mois plus tard.
chmullig
14
Et maintenant, cinq ans plus tard, Jenkins est en plein essor, et Oracle a jeté Hudson sur le cimetière des éléphants Eclipse où il est mais de nom abandonné.
Thorbjørn Ravn Andersen
115

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

... et quelques informations de fond:

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

[Hudson / Jenkins] est le produit d'un intellect de génie unique - Kohsuke Kawaguchi. Pour cette raison, il est cohérent, cohérent et solide comme le roc.

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

Compte tenu de tout ce qui précède, je suivrais personnellement Kohsuke et les autres développeurs principaux dans cette affaire, et j'irais avec Jenkins.

Jonik
la source
90

Juste mon point de vue sur la question, trois mois plus tard:

Jenkins a poursuivi le chemin emprunté par le Hudson original avec des sorties fréquentes, y compris de nombreuses mises à jour mineures.

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

Je suggère que si vous aimez le son de:

  • les versions moins fréquentes mais celles dont la compatibilité ascendante est plus rigoureusement testée (plus un cycle de version "de type entreprise")
  • un produit axé principalement sur une forte intégration Maven et / ou 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.
  • cela ne vous dérange pas d'avoir une plus 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é (plus d'un "dernier et meilleur" cycle de sortie)
  • un système avec une prise en charge plus active de la communauté, par exemple, d'autres systèmes de construction / référentiels d'artefacts
  • soutenir les offres du créateur original et al. et / ou vous n'avez aucun intérêt pour le support professionnel (par exemple, vous êtes content tant que vous pouvez obtenir un correctif dans les "derniers et meilleurs" de la semaine prochaine)
  • un mélange classique de sorcières de style OSS d'un écosystème de développement

alors je suggère Jenkins. (et comme un commentateur l'a noté, Jenkins a maintenant également des versions "LTS" qui sont maintenues sur une branche plus "stable")


Le cours prudent serait de choisir Hudson maintenant et de migrer vers Jenkins si les fonctionnalités indispensables ne sont pas disponibles. Le cours dynamique serait de choisir Jenkins maintenant et de migrer vers Hudson si la recherche des mises à jour devient trop longue à justifier.

Zac Thompson
la source
22
Ou profitez du meilleur des deux mondes et utilisez les nouvelles versions du support à long terme (LTS) de Jenkins!
Christopher Orr
48

À l'avant .. Je suis un contributeur Hudson et auteur du livre Hudson, mais je n'ai pas été impliqué dans toute la division des projets.

En tout cas voici mon conseil:

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

Hudson va achever la migration pour devenir un projet Eclipse de haut niveau plus tard cette année et a obtenu tout un tas de développeurs à temps plein, d'AQ et d'autres travaillant sur le projet. Il fonctionne toujours bien et compte beaucoup d'utilisateurs et, étant le serveur CI par défaut d'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 avec la version 2.1.0, tout un tas d'autres fonctionnalités intéressantes sont à venir.

http://www.eclipse.org/hudson

Jenkins de l'autre côté a conquis de nombreux utilisateurs originaux de Hudson et possède une grande communauté d'utilisateurs sur plusieurs technologies et a également tout un tas de développeurs qui y travaillent.

À ce stade, les deux serveurs CI sont d'excellents outils à utiliser et, en fonction de vos besoins en termes de technologie, l'intégration avec l'un ou l'autre pourrait être meilleure. Les deux produits sont disponibles en open source et vous pouvez obtenir un soutien commercial de diverses sociétés pour les deux.

Dans tous les cas .. si vous n'utilisez pas encore de serveur CI .. commencez maintenant avec l'un d'eux et vous verrez d'énormes avantages.

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

Manfred Moser
la source
38

Jenkins est le nouveau Hudson. Cela ressemble plus à un renommage, pas à un fork, puisque toute la communauté de développement est passée à Jenkins. (Oracle reste assis dans un coin en tenant sa vieille balle "Hudson", mais c'est juste un projet sans âme maintenant.)

Cf Ethereal -> WireShark

Nathan Kidd
la source
Que dois-je faire avec mon serveur Hudson Build en cours d'exécution? Je suppose qu'il ne se mettra pas automatiquement à jour avec le nouveau fork / branch / rename de Jenkins. Dois-je configurer le serveur de construction à partir de zéro?
Michael Küller
4
Vous pouvez "mettre à niveau" vers Jenkins comme vous l'avez fait pour mettre à niveau d'une version de Hudson vers une autre.
nrobey
J'utilise actuellement Hudson 1.395. Actuellement, il ne montre pas mes mises à jour disponibles. La mise à jour qui fait le changement de nom est-elle à venir plus tard?
Michael Küller
3
Non, Hudson (Oracle) ne donnera [1] jamais de mise à jour à Jenkins; si Oracle était disposé à travailler avec la communauté, il n'y aurait pas eu de scission en premier lieu. [1] À l'exception des porcs qui volent, M. Ellison devenant votre aimable voisin amical, etc.
Nathan Kidd
8
Voir ici: wiki.jenkins-ci.org/display/JENKINS/… pour savoir comment ajouter Jenkins au centre de mise à niveau de Hudson.
Simon D
27

J'ai deux points à ajouter. Premièrement, Hudson / Jenkins concerne les plugins. Les développeurs de plugins sont passés à Jenkins et nous aussi, 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 en avoir encore un peu pour acheter de la bière tous les vendredis :)

Tim Fulmer
la source
1
En raison de tous les plugins, Jenkins peut être assez différent de l'autre, et également différent de la prochaine fois que vous l'installez.
bbaassssiiee
4

Pour ceux qui ont mentionné une réconciliation comme un avenir potentiel pour Hudson et Jenkins, avec le fait que Jenkins rejoindra SPI , il est peu probable à ce stade qu'ils se réconcilient.

Chad Wilson
la source
4

Du site Web de Jenkins, http://jenkins-ci.org , ce qui suit 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 désormais propriétaire de la marque Hudson, mais l'a concédée sous licence Eclipse EPL . Jenkins est sur la licence MIT . Hudson et Jenkins sont tous deux open-source. Sur la base de la combinaison de qui vous travaillez et de vos préférences personnelles pour l'open-source, la décision est simple à mon humble avis.

J'espère que cela vous a été utile.

thirumalaa srinivas
la source
3
Hudson est un projet Eclipse de haut niveau maintenant.
Manfred Moser
14
Oracle possède désormais hudson et Jenkins est open-source. Les deux sont sous licence MIT . Décrire l'un comme open-source et l'autre comme non open-source est trompeur. Ce sont des logiciels libres.
pb2q
1
Oracle possède apparemment le nom Hudson (en tant que marque).
Thorbjørn Ravn Andersen