Frage

Ich denke, der Titel bringt es auf. Ich möchte nur wissen, warum das eine oder das andere ist besser für die kontinuierliche Integration von Java-Projekten aus Svn baut.

War es hilfreich?

Lösung

Wie lange CruiseControl- Committer und jemand, der Hudson nie benutzt hat Ich bin ziemlich voreingenommen, aber mein nehmen auf sie ist:

Hudson ist viel einfacher, aufzustehen und (zu einem großen Teil von einem schönen Web-Interface) und hat eine sehr aktive Plugin-Entwickler-Community ausgeführt wird.

hat CruiseControl- Unterstützung von vielen 3rd-Party-Sachen und hat den Vorteil, dabei einige nette Tricks mit der xML-Konfiguration wie Plugin Vorkonfiguration und include.projects, die Sie Version mit dem Projekt die Konfigurationsinformationen können.

Wenn Sie nur ein paar baut haben gehen denke ich Hudson der klare Sieger ist. Wenn Sie vorhaben, viel zu haben - und nicht die xml dagegen - dann denke ich, CruiseControl- XML-Konfiguration Tricks eine echte Stärke worden

.

Andere Tipps

Ich stimme mit diese Antwort , wollte aber ein paar Punkte hinzuzufügen.

Kurz gesagt, Hudson (Update: Jenkins ) ist wahrscheinlich die bessere Wahl jetzt. In erster Linie, weil die Erstellung und Konfiguration Arbeitsplätze ( „Projekte“ in CC Wortschatz) ist nur so viel schneller durch Hudson Web-UI, im Vergleich zu der Bearbeitung CruiseControl- die XML-Konfigurationsdatei (die wir gerade in der Versionskontrolle zu halten, verwendet im Auge zu behalten ist es besser). Letzteres ist nicht besonders schwierig -. Es ist einfach langsamer und langwieriger

CruiseControl- ist großartig, aber wie in Dan Dyer treffend bezeichnen Blog-Post, Warum sind Sie noch nicht Hudson mit? , leidet es an erster zu sein. (Um, wie Großbritannien, wenn man so will, die später in die industrielle Revolution, wenn andere begann es mit neueren Technologien Überholmanöver.)

Wir haben stark CruiseControl- und gewechselt haben allmählich zu Hudson über, schließlich es ausschließlich mit. Und noch stark: in den Prozess, den wir begonnen haben für viele andere Dinge, die CI-Server als zuvor, weil die Einrichtung und Arbeitsplätze Hudson Verwaltung so praktisch ist. (Wir haben jetzt einige 40+ Arbeitsplätze in Hudson: die üblichen Build & Prüfaufträge für stabile und Entwicklungszweige, Arbeitsplätze im Zusammenhang mit Freigabe (Gebäude Installateure usw.); Jobs, die einige (experimentell) Metriken gegen die Code-Basis laufen, diejenigen, die (langsam laufen ) UI oder Integrationstests gegen eine bestimmte Datenbankversion,. usw.)

Aus dieser Erfahrung würde ich argumentieren, dass, auch wenn Sie viel baut, darunter kompliziert, Hudson eine ziemlich sichere Wahl ist, weil, wie CC, können Sie es tun alles , im Grunde . Nur konfigurieren Sie Ihren Job unabhängig von Ant oder Maven Ziele, Unix Shell-Skripte oder Windows .bat-Skripte ausführen, in der Reihenfolge, die Sie wünschen.

Wie für die 3rd-Party-Sachen ( Plugins für sie.

Für mich sind die beiden Dinge, die ich nennen kann, dass ich vermisse über CruiseControl- sind:

  1. Die Warnung E-Mails über gebrochene baut waren informativer als die von Hudson. In den meisten Fällen war die Ursache offensichtlich von CCs schön formatierte HTML selbst Mail, während bei Hudson in der Regel brauche ich den Link zu Hudson Web-UI zu folgen, und klicken Sie dann um ein wenig, um die Details zu erhalten.
  2. Der CruiseControl- Armaturenbrett besser geeignet ist, aus dem Kasten heraus, als „ Informationen Heizkörpers “(auf einem öffentlichen Monitor gezeigt ist, oder auf eine Wand projiziert, so dass Sie sehen den Status aller Projekte immer schnell). Mit Hudson auf der Titelseite, mussten wir einige Grease Tricks Job Reihen all schön grün / rot.

Minor Haftungsausschluss: Ich habe den CC-Projekt aufmerksam verfolgt für das letzte Jahr oder so nicht. (Aber von einem kurzen Blick rel="nofollow, es war nicht in jeder dramatische Weise verändert.)

Hinweis (2011-02-03): Hudson hat umbenannt / gegabelt wie Jenkins (von Hudson Schöpfer Kohsuke Kawaguchi und andere). Es sieht aus, als ob Oracle-die den Hudson steuert Name-halten „ Hudson “um auch, aber meine persönliche Empfehlung ist mit Jenkins zu gehen, egal, was Oracle sagt.

Mein letztes Projekt haben wir begonnen, auf CruiseControl- ab. Welche erschüttert. Dann zogen wir nach Hudson, die noch mehr erschüttert. Die Dinge, die ich gerne über Hudson:

  • Die Upstream- und Downstream-Projekte. So eine verpflichten, Ihren Datenzugriffscode wird schließlich auch einen Build von der Präsentationsschicht ausgelöst werden.

  • Einfach ein vorhandenes Projekt als Ausgangspunkt eines neuen verwenden -. Wenn Sie also in der Gewohnheit zu schaffen Entwicklungszweige sind, dann darauf achten, diese sind unter kontinuierlicher Integration ist ein Kinderspiel

Ein Unterschied besteht darin, dass Hudson das Produkt eines einzigen Genie Intellekt-Kohsuke Kawaguchi ist. Aus diesem Grund, ist es konsequent, kohärent und felsenfest. Der Nachteil könnte einige Beschränkung auf die Geschwindigkeit des Fortschritts sein. Allerdings ist Kohsuke unglaublich fruchtbar, so dass ich nicht allzu besorgt sein würde darüber. Und, es ist erweiterbar, so dass, wenn es etwas Kohsuke haben die Zeit nicht für (oder nicht wollen), können Sie wahrscheinlich selbst tun es.

Ich sah sowohl bei Cruise Control und Hudson aber wählen Hudson, da es viel einfacher aufzusetzen war und konfigurieren. Hudson scheint sehr weit verbreitet in diesen Tagen mit regelmäßigen Veröffentlichungen und viele extensiblity durch Plugins verwendet. Ich würde es sehr empfehlen.

Hudson ist die benutzerfreundliche Alternative meiner Meinung nach. Es kann über die Web-Schnittstelle (abgesehen von der Erstinstallation des Webapp, natürlich).

vollständig aufgebaut und gepflegt wird

Der einzige Weg, dies zu CruiseControl- gesagt werden könnte, ist, wenn Sie das integrierte XML-Datei-Editor zählen.

Doch beide benutzt zu haben, habe ich noch irgendein über, die keinen automatischen Build bevorzugen würde.

habe ich versucht, Tempomat ... Es ist gut ... Aber Dokumente sind zersplittert. Dashboard ist verwirrend. Widget Schöpfung ist auch verwirrend. Nie versucht hudson. Wird am Wochenende versuchen.

Ich habe vor kurzem Setup Jenkins für den Aufbau von Borland BDS 2006 Projekte Einsatz von Subversion zu machen, und ich bin sehr zufrieden damit. Ich CruiseControl- noch nie verwendet, so kann ich nicht vergleichen. Lesen Sie mein Blog-Post für weitere Informationen.

Continuous Integration Delphi-Projekt mit Jenkins

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top