it-swarm.com.de

Wie wählt man zwischen Hudson und Jenkins?

Ich habe ungefähr eine Stunde gebraucht, um herauszufinden, dass Hudson erst vor kurzem eine Filiale eröffnet hat (Jan/2011)
Ich habe keine Ahnung, wie schnell sich die einzelnen Zweige jetzt ändern, aber was noch wichtiger ist, in welche Richtung sich die einzelnen Zweige bewegen und welche zentralen Punkte sind, damit man eine Entscheidung treffen kann, welche davon zu wählen ist.

Hat jemand Links zu Produkt-Roadmaps und Funktionsunterschieden?

449
Greg Domjan

Verwenden Sie Jenkins.

Jenkins ist die neueste Version von den Kernentwicklern von Hudson. Um zu verstehen, warum, müssen Sie die Geschichte des Projekts kennen. Es war ursprünglich Open Source und wurde von Sun unterstützt. Wie viel von dem, was Sun tat, war es ziemlich offen, aber es gab ein bisschen gütige Vernachlässigung. Quelle, Tracker, Website usw. wurden von Sun auf ihrer relativ geschlossenen Java.net-Plattform gehostet.

Dann kaufte Oracle Sun. Aus verschiedenen Gründen scheute Oracle nicht, das zu nutzen, was es als seine Vermögenswerte ansieht. Dazu gehört eine gewisse Kontrolle über die Logistikplattform von Hudson und insbesondere über den Namen Hudson. Viele Benutzer und Mitwirkende fühlten sich damit nicht wohl und beschlossen zu gehen.

Es kommt also darauf an, was Hudson gegen Jenkins anbietet. Sowohl Oracle's Hudson als auch Jenkins haben den Code. Hudson hat Oracle und Sonatype Corporate Support und die Marke. Jenkins hat die meisten Kernentwickler, die Community und (bisher) viel mehr aktuelle Arbeit.

Lesen Sie diesen Beitrag, den ich oben verlinkt habe, dannlesender Rest vondiesein chronologischer Reihenfolge = Bestellung . Zum Ausgleich können Sie das Hudson/Oracle lesen nehmen Sie es auf . Mir ist ziemlich klar, wer defensiv spielt und wer die wirklichen Absichten für das Projekt hat.

501
chmullig

Verwenden Sie als chmullig schrieb Jenkins . Einige zusätzliche Punkte:

... und ein paar Hintergrundinformationen:

Der Schöpfer von Hudson, Kohsuke Kawaguchi , startete das Projekt in seiner Freizeit, auch wenn er für Sun Microsystems arbeitete und später von diesen bezahlt wurde, um es weiterzuentwickeln. Als @ erickson notiert bei einer anderen SO Frage ,

[Hudson/Jenkins] ist das Produkt eines einzigen genialen Intellekts - Kohsuke Kawaguchi. Aus diesem Grund ist es konsistent, kohärent und absolut solide.

Nach der Übernahme durch Oracle, Kohsuke hat nicht lange rumgehangen (wegen fehlende Monitore ...? ; -]) und ging zur Arbeit für CloudBees . Was Ende 2010 als Konflikt um Tools zwischen der Entwickler-Community und Oracle begann und mit dem Umbenennen/Verzweigen/Teilen endete, ist in den bereitgestellten Links gut dokumentiert. Für mich spricht dieses ganze Rätsel vielleicht mehr als alles andere dafür, dass Oracle überhaupt nicht in der Lage oder nicht gewillt ist, ein Open-Source-Projekt so zu sponsern, dass alle Beteiligten (Oracle, Entwickler, Benutzer) zufrieden sind. Es ist nicht in ihrer DNA oder so, wie wir in othercases auch gesehen haben.

Angesichts all dessen würde ich Kohsuke und anderen Kernentwicklern in dieser Angelegenheit persönlich folgen und mich an Jenkins halten.

114
Jonik

Nur meine Meinung dazu, drei Monate später:

Jenkins hat den vom ursprünglichen Hudson eingeschlagenen Weg mit häufigen Veröffentlichungen, einschließlich vieler kleinerer Aktualisierungen, fortgesetzt.

Oracle scheint die Arbeit an dem zukünftigen Weg für Hudson weitgehend an das Sonatype-Team delegiert zu haben, das einige wesentliche Änderungen vorgenommen hat, insbesondere in Bezug auf Maven. Sie haben es gemeinsam in die Eclipse-Stiftung verlegt.

Ich würde vorschlagen, dass, wenn Sie den Klang von mögen:

  • weniger häufige Releases, jedoch solche, die stärker auf Abwärtskompatibilität getestet wurden (eher ein Release-Zyklus im "Enterprise-Stil")
  • ein Produkt, das sich in erster Linie auf die starke Integration von Maven und/oder Nexus konzentriert (d. h. Sie haben kein Interesse an Gradle und Artifactory usw.)
  • professionelle Support - Angebote von Sonatype oder vielleicht von Oracle gegenüber Cloudbees usw
  • es macht Ihnen nichts aus, eine kleinere Community von Plugin-Entwicklern usw. zu haben.

Dann würde ich Hudson vorschlagen.

Umgekehrt, wenn Sie es vorziehen:

  • häufigere Updates, auch wenn sie etwas häufiger angepasst werden müssen und in Bezug auf die Kompatibilität möglicherweise etwas riskanter sind (eher ein "neuester und größter" Release-Zyklus)
  • ein System mit einer aktiveren Community-Unterstützung für z. B. andere Build-Systeme/Artefakt-Repositorys
  • unterstützungsangebote des ursprünglichen erstellers et al. und/oder Sie haben kein Interesse an professioneller Unterstützung (z. B. sind Sie glücklich, solange Sie eine Lösung für das "Neueste und Beste" der nächsten Woche finden können).
  • ein klassisches Hexengebräu im OSS-Stil aus einem Entwicklungsökosystem

dann würde ich Jenkins vorschlagen. (Und wie ein Kommentator bemerkte, hat Jenkins jetzt auch "LTS" -Versionen, die auf einem "stabileren" Zweig gepflegt werden.)


Der konservative Kurs wäre, sich jetzt für Hudson zu entscheiden und zu Jenkins zu migrieren, wenn die erforderlichen Funktionen nicht verfügbar sind. Der dynamische Kurs wäre, sich jetzt für Jenkins zu entscheiden und zu Hudson zu migrieren, wenn die Suche nach Updates zu zeitaufwändig wird, um dies zu rechtfertigen.

90
Zac Thompson

Ich bin ein Hudson-Committer und Autor des Hudson-Buches, war aber nicht an der gesamten Aufteilung der Projekte beteiligt.

Auf jeden Fall ist hier mein Rat:

Schauen Sie sich beide an und finden Sie heraus, was Ihren Bedürfnissen besser entspricht.

Hudson wird die Migration zu einem Eclipse-Projekt auf höchstem Niveau im Laufe dieses Jahres abschließen und hat eine ganze Reihe von Vollzeitentwicklern, Qualitätssicherern und anderen an dem Projekt mitgearbeitet. Es ist nach wie vor stark und hat viele Benutzer. Da es der Standard-CI-Server bei Eclipse ist, wird es auch weiterhin den Anforderungen vieler Java Entwickler gerecht. Wenn Sie sich die Roadmap und die Pläne für die Zukunft ansehen, werden Sie feststellen, dass nach der Integration von Maven 3 mit der Version 2.1.0 noch eine ganze Reihe weiterer interessanter Funktionen verfügbar sind.

http://www.Eclipse.org/hudson

Jenkins auf der anderen Seite hat viele ursprüngliche Hudson-Benutzer überzeugt und verfügt über eine große Benutzergemeinschaft mit mehreren Technologien sowie eine ganze Reihe von Entwicklern, die daran arbeiten.

In dieser Phase sind beide CI-Server großartige Tools, und je nach Ihren technologischen Anforderungen ist die Integration mit dem einen oder anderen möglicherweise besser. Beide Produkte sind als Open Source verfügbar und Sie können kommerziellen Support von verschiedenen Unternehmen für beide erhalten.

In jedem Fall .. wenn Sie noch keinen CI-Server verwenden .. beginnen Sie jetzt mit einem von beiden und Sie werden enorme Vorteile sehen.

Update Jan 2013: Nach einem langen Prozess der IP-Bereinigung und weiterer Verbesserungen ist Hudson 3.0 als erste von der Eclipse Foundation genehmigte Version jetzt verfügbar.

48
Manfred Moser

Jenkins ist der neue Hudson. Es ist wirklich eher eine Umbenennung als eine Abzweigung, da die gesamte Entwicklergemeinschaft nach Jenkins gezogen ist. (Oracle sitzt in einer Ecke und hält den alten Ball "Hudson", aber jetzt ist es nur ein seelenloses Projekt.)

C.f. Ätherisch -> WireShark

38
Nathan Kidd

Ich muss zwei Punkte hinzufügen. Zum einen dreht sich bei Hudson/Jenkins alles um die Plugins. Plugin-Entwickler sind zu Jenkins gewechselt, und wir, die Benutzer, sollten es auch. Zweitens bin ich persönlich kein großer Fan von Oracle-Produkten. Tatsächlich vermeide ich sie wie die Pest. Für das Geld, das Sie für die Lizenzierung und Hardware einer Oracle-Lösung ausgeben, können Sie das Doppelte des technischen Personals einstellen und haben immer noch etwas übrig, um jeden Freitag Bier zu kaufen :)

27
Tim Fulmer

Für diejenigen, die eine Versöhnung als eine potenzielle Zukunft für Hudson und Jenkins erwähnt haben, mit der Tatsache, dass Jenkins wird SPI beitreten , ist es an diesem Punkt unwahrscheinlich, dass sie sich versöhnen werden.

4
Chad Wilson

Auf der Jenkins-Website http://jenkins-ci.org wird dies im Folgenden zusammengefasst.

Kurz gesagt, Jenkins CI ist der führende Open-Source-Server für die kontinuierliche Integration. Mit Java erstellt, bietet es über 300 Plugins, um das Erstellen und Testen von praktisch jedem Projekt zu unterstützen.

Oracle besitzt jetzt die Marke Hudson, hat sie jedoch unter der Lizenz Eclipse EPL lizenziert. Jenkins ist auf der MIT-Lizenz . Sowohl Hudson als auch Jenkins sind Open Source. Aufgrund der Kombination aus Ihrer Arbeit und Ihrer persönlichen Vorliebe für Open Source ist die Entscheidung meiner Meinung nach unkompliziert.

Hoffe das war hilfreich.

4