Continuous Integration Server [geschlossen]


78

Mein Unternehmen erwägt, die Server für die kontinuierliche Integration zu ändern (ich werde nicht sagen, welchen wir jetzt haben, damit ich Ihre Antworten sowieso nicht verzerre :)). Ich frage mich, ob jemand Empfehlungen hat. Beste Benutzererfahrung, Schwierigkeitsgrad usw.

Unser Code ist alles in Java und wir verwenden ANT als Build-Tool.

Antworten:


89

Ich habe kürzlich einen Hudson- Server implementiert . Nachdem ich zuvor Cruise Control verwendet habe, bin ich sehr zufrieden mit Hudson und sehr beeindruckt von seiner einfachen Einrichtung und Verwendung. Das Hinzufügen neuer Projekte ist unendlich einfacher als mit Cruise Control.


Ich habe an Orten gearbeitet, an denen Tempomat verwendet wurde, und an anderen, an denen Hudson verwendet wurde, und ich würde nie wieder zu Tempomat zurückkehren wollen. Es hat auch ein schönes NetBeans-Plugin und die Testintegration war großartig.
18Rabbit

1
Stimme voll und ganz zu. Ich habe sowohl einen CruiseControl-Server als auch in jüngerer Zeit einen Hudson-Server bei der Arbeit eingerichtet, und CruiseControl erforderte weitaus mehr Wartung. Es ist eine wahre Freude, mit Hudson zu arbeiten, und es gibt viele gute Plugins dafür (z. B. für Cobertura, Emma, ​​FindBugs, CPD usw.).
Tom De Leu

2
+ Hudson. Cruisecontrol ist ein Schmerz, Hudson ist freundlich.
mfx

1
Hudson ist extrem einfach zu installieren, einzurichten und zu warten. Wir verwenden es für Ameisen- und Maven-Builds.
jon077

9
Wenn jemand es verpasst hat, wurde Hudson von seinen ursprünglichen Entwicklern in Jenkins umbenannt . Mit Jenkins sind Sie jetzt am besten dran , da diese Frage Sie wahrscheinlich überzeugen wird.
Jonik

22

Edit: Wir verwenden jetzt Hudson.

Vor einiger Zeit habe ich mir einige davon mit den folgenden Anforderungen angesehen:

  • Java-Code
  • Ameise baut
  • Groovige Builds
  • Verteilte Builds
  • SCM-Trigger-Integration
  • http-Berichte
  • SMTP-Berichte

Die Continuous Integration Feature Matrix ist ein guter Ausgangspunkt.

Am Ende habe ich mich für AnthillPro entschieden und benutze es erfolgreich. Ich kratzte nur an der Oberfläche dessen, was wir können, und hoffe, dass ich es verwenden kann.


OFFENLEGUNG: Diese Matrix wurde von Leuten von Cruise Control geschrieben.
Pablo Fernandez

Vielen Dank, dass Sie den CI-Matrix-Link veröffentlicht haben - eine hervorragende Ressource, auch wenn sie von den Leuten der Geschwindigkeitsregelung / Geschwindigkeitsregelung stammt.
Julie


1
+1 für Link zur Matrix. Ich benutze es jedes Mal, wenn ich dieses Problem erneut aufgreifen muss.
Jared

Wir haben Hudson verwendet und sind dann zu AHP gewechselt, weil es Bereitstellungen unterstützt. Es ist definitiv komplizierter als Hudson, aber auch viel flexibler und anpassbarer.
Brian Kelly

19

Jetbrains TeamCity sah wirklich gut aus, als wir es uns angesehen haben. Es basiert auf Java und sollte daher für Ihr Team leicht zu erweitern sein und verteilte Builds usw. ausführen können. Es gibt eine Freebie-Version, die Sie bewerten können.


6
Erläuterung - Jetbrains TeamCity Professional ist für bis zu 20 Build-Konfigurationen kostenlos. Keine zeitliche Begrenzung, es ist keine Evaluierungsausgabe.
Bevan

12

Ich habe mich auch damit befasst und obwohl ich mich anfangs mit CruiseControl befasst habe, habe ich gute Dinge über Hudson gehört und beschlossen, es auszuprobieren. Ich bin total begeistert davon, wie einfach es war, loszulegen (einfach herunterladen und ausführen), und die Konfiguration erfolgt über die GUI, sodass Sie nicht mit XML-Konfigurationsdateien herumspielen müssen.

Innerhalb weniger Minuten hatte ich meinen ersten Ant-Build durchgeführt. Ich habe es jetzt als Windows-Dienst auf einem Server ausgeführt, der sowohl im Büro als auch über VPN rund um die Uhr verfügbar ist. Das Upgrade ist so einfach wie das Herunterladen der neuen War-Datei und der Neustart.

Die Unterstützung für Junit-Berichte ist sofort einsatzbereit. Das Installieren zusätzlicher Plugins ist ebenfalls sehr einfach und ich habe Plugins für Trac, Cobertura, FindBugs und PMD hinzugefügt. Die Code- und Testqualität nimmt zu, da es sehr befriedigend ist, wenn die Trendgraphen steigen!

Ich verwende es jetzt, um alle meine Builds für Test- und Produktionsumgebungen zu verwalten. Da ich mehrere Webanwendungen verwalte, habe ich mehr Zeit für die eigentliche Programmierung. Ich kann mich ehrlich gesagt nicht erinnern, wie ich es ohne geschafft habe.


7

Atlassians Bambus sieht gut aus, aber ich habe keine Erfahrung damit. Sieht in den Funktionen ähnlich aus wie Cruise oder TeamCity .


Bambus nicht schlecht (obwohl ich denke, dass alles "nicht schlecht" ist, wenn Ihr erstes CI-Tool CruiseControl war ...). Es ist kaum in der Lage, eine große Anzahl von Projekten (z. B. über 200) abzuwickeln, aber es wird besser darin.
Roman Starkov

5

Wie einige andere Leute hier liebe ich Hudson wirklich .

Es ist extrem einfach zu installieren (es ist nur eine Kriegsdatei, die bereitgestellt werden muss), zu konfigurieren und zu verwenden. Darüber hinaus bietet es viele Funktionen, die auf anderen Systemen nicht immer verfügbar sind (Build-Matrix, Master und Slaves, Sicherheit auf Server- oder Projektebene ...).

Die Anzahl der vorhandenen Plugins ist jetzt ziemlich wichtig, und das Erstellen eines eigenen Plugins ist nicht so schwierig ...

Abschließend entwickelt sich diese Anwendung sehr schnell: Wir sind derzeit bei der 257. Veröffentlichung und sie haben seit einem Jahr mehr als 100 Veröffentlichungen gemacht!

Für Franzosen habe ich eine ziemlich vollständige Anleitung geschrieben, um Hudson hier zu verwenden .


5

Wenn Sie Atlassian-Personalsoftware verwenden (z. B. Jira, Clover usw.), ist Bambus Ihr Weg.

Wir benutzen es für ein paar Monate und ich kann es empfehlen. Es ist sein Geld wert.


Bambus funktioniert sicherlich für uns in unserem Atlassian Shop. Sollten Sie jedoch jemals die Maven-Route gehen, beachten Sie, dass in Hudson etwas Magie eingebaut ist, die Bambus immer noch nicht hat ( jira.atlassian.com/browse/BAM-230 ).
Brian Laframboise

Wir sind noch auf Ameise. Es ist also nicht unser Fall. Ein weiteres Problem, auf das wir bei Bambus gestoßen sind: Es ist immer noch nicht 100% kompatibel mit SVN 1.5 (funktioniert nicht mit SASL-Verschlüsselung).
FoxyBOA

5

Wenn Sie nicht vollständig auf Hudson verkauft sind, sollte eine Probefahrt mit einem Klick Ihre Meinung ändern.

Klicken Sie unten:

https://hudson.dev.java.net/hudson.jnlp

Dadurch wird Hudson über Java Web Start für eine Probefahrt gestartet. Besuchen Sie nach dem Start http: // localhost: 8080 / , um zum Dashboard zu gelangen. Jede Konfiguration, die Sie mit diesem Hudson vornehmen, wird in ~ / .hudson gespeichert, sodass Ihre Daten durch den Neustart des Hudson-Prozesses überleben.

Wenn Sie Standardtools wie svn und ant / maven verwenden, sollten Sie in 5 Minuten einen Aufbau haben und laufen. Verschiedene Werkzeuge und es kann 20 Minuten dauern!

Eine Einführung finden Sie hier:

http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson


4

Bambus funktioniert großartig; Wenn Sie Bargeld haben, würde ich das empfehlen. Tempomat ist seinen Preis wert; Ich habe es nie geschafft, zuverlässig herauszufinden, dass Quelländerungen vorgenommen und erstellt wurden, und ich konnte es auch nicht manuell erstellen lassen. Die Schnittstelle und Konfiguration sind schrecklich komplex.


3

Wir verwenden Tempomat . Es hat alle Funktionen, die wir wollen, und war ziemlich einfach einzurichten. Die Integration mit ANT und SVN ist in Ordnung.

Con: Hin und wieder müssen wir den Prozess oder die Maschine neu starten, da keine Nachrichten mehr für den nächtlichen Build gesendet werden. Ich bin mir nicht sicher, worum es geht, aber es ist nur nervig.


Ja, so etwas habe ich auch mit Cruise Control erlebt. Ich wechselte zu Hudson. So weit, ist es gut.
Chinnery

Ich habe auch diese Art von Instabilität bei CC gesehen. Dies ist einer der Gründe, warum meine Firma zu Luntbuild gewechselt ist.
pkaeding

Ich habe sowohl bei CC als auch bei Hudson festgestellt, dass, wenn Sie Text im Cmd-Fenster markieren (auswählen), die Tools beim Schreiben ihrer Ausgabe blockiert werden und scheinbar anhalten.
Greg Domjan

3

Wie in der Java-Welt üblich, gibt es die Open-Source-Welt und die Geschäftswelt.

Wir haben bereits eine ziemlich gute Berichterstattung über die verschiedenen Angebote gesehen.

Hudson: Ich kenne kein anderes Java-Server-Angebot, das so einfach zu bewerten ist. java -jar hudson.war - wie einfach kann es sein? Sie können es nicht nur unter Windows verwenden, sondern auch auf allen üblichen Java-Plattformen. Ant, Maven und eine Vielzahl anderer Build-Plattformen werden unterstützt.

Das Beste an Hudson ist die Plug-In-Funktion. Es wird fast kontinuierlich weiterentwickelt. Sie fragen nach einer Funktion und es dauert nicht lange, bis sie ausgeführt wird.

Normalerweise mag ich es nicht, wie ein Fan zu klingen, aber diese App / Entwickler / Community beeindruckt mich auf jeden Fall.

BR,
~ A.



2

Ich bin glücklich mit Bambus . Ich habe mir eine Reihe kostenloser Lösungen angesehen, bevor ich mich dazu entschlossen habe.


2

Ich denke, ich werde der erste sein, der Luntbuild erwähnt . Abgesehen von dem weniger eingängigen Namen ist es ein großartiger CI-Server.

  • Super einfach einzurichten.
  • Web-Benutzeroberfläche zum Erstellen / Verwalten Ihrer Projekte und Benutzer
  • Unterstützung für VIELE Versionskontrollsysteme (ich habe es mit CVS, SVN und StarTeam verwendet)
  • Ziemlich raffinierte Remote-API
  • Relativ hohe Granularität für die Zugriffskontrolle (sodass Sie Clients nur Zugriff auf ihre Builds und nicht auf die Builds anderer Clients gewähren können)
  • und sehr viel mehr.

Schauen Sie sich die Live-Demo an . Konto / Passwort Demo / Demo

Hinweis: Die Live-Demo ist einige Veröffentlichungen zurück.


Ich habe gehört, der Nachteil ist der Mangel an Unterstützung für Unit-Tests. Siehe hier: stackoverflow.com/questions/672/… Ich frage mich, ob Sie auf dasselbe Problem stoßen ?
Sivabudh

Ich bin nicht auf dasselbe Problem gestoßen. Beispielsweise kann ANT Komponententests ausführen, und es stehen viele Parser für Komponententests mit ANT-Aufgaben zur Verfügung. Lunt kann dann jedes dieser ANT-Ziele innerhalb eines Lunt-Projekts aufrufen. Ich stimme jedoch zu, dass die OGNL-Ausdrücke für die Ergebnisanalyse komplex sein können. Persönlich habe ich selten einen Bedarf dafür gefunden.
Liggy

1

Wir haben Cruise Control mit anständigen Ergebnissen eingesetzt. Seitdem verwenden wir Maven für das Build-Tool in all unseren Projekten. Damit kam der Umzug nach Hudson für CI, was sehr schön ist. Wenn Sie glauben, dass ein Umzug nach Maven in Ihrer Zukunft liegen könnte, würde ich ihn empfehlen. Ich denke, Hudson kann sogar verwendet werden, um Ant-Aufgaben aufzurufen, obwohl ein Maven-Wrapper möglicherweise in Ordnung ist.

http://hudson-ci.org/



1

Eine Organisation, die ich betreibe (openqa.org), hat zu der einen oder anderen Zeit fast alle verwendet. Entscheiden Sie sich für eine einfache Einrichtung für TeamCity oder Bamboo. In Bezug auf die allgemeine Zuverlässigkeit sollten Sie sich jedoch Hudson ansehen. Ich mag JetBrains wirklich , aber wir haben festgestellt, dass TeamCity nach einer Weile in seltsame Zustände gerät, was dazu führt, dass unsere Builds sehr unzuverlässig sind. Schade, denn ich liebe IDEA!


Ich habe seit Version 3 keine Seltsamkeit mehr mit TeamCity. Aber vielleicht sind meine Builds zu klein.
Steve McLeod

1

Wir haben Automated Build Studio verwendet und waren ziemlich zufrieden damit. Es ist eine Windows-App, Sie stecken also auf einem Windows Build-Server fest, aber auf der positiven Seite ist es super einfach einzurichten, zu warten und zu verwenden. Sie erstellen Ihren Prozess aus Komponenten per Point & Click und können Skripte verwenden, wenn keine der Komponenten Ihren Anforderungen entspricht.


1

Von den wenigen, die ich verwendet habe, ist Buildbot der leistungsstärkste und flexibelste. Es ist jedoch nicht das Schönste, wenn Ihnen das wichtig ist.


1

Ich habe sowohl Bambus als auch Hudson verabreicht und würde Hudson empfehlen.

Sie sind beide großartig, aber Hudson hat eine bessere Unterstützung für Berichte, zum Beispiel ist das Veröffentlichen Ihrer Berichterstattungsberichte usw. in Hudson so viel einfacher.

Dies wird sich wahrscheinlich in naher Zukunft ändern, aber trotz der Integration von Bamboo mit JIRA usw. und seiner Statistiken ist Hudson aus Gründen der Benutzerfreundlichkeit und der Unterstützung durch Dritte unabhängig vom Dollarbetrag besser (kostenlos, Bamboo nicht). .


1

Wir verwenden auch Hudson und wenn es nicht die Rezession wäre, würden wir wahrscheinlich Bambus und die meisten Atlassian-Produkte (Bambus, Schmelztiegel, Konfluenz) zusammen mit JIRA verwenden.


Sie halten Bambus also für besser als Hudson - können Sie erläutern, warum? (Nicht alle sind sich einig: stackoverflow.com/questions/140453/… )
Jonik

0

Ich verwende Continuum für meinen Continuous Integration Server. Kein anderer Grund als ich würde einen Entwicklungsmanager einstellen, der ihn bei seiner letzten Aufgabe eingesetzt hatte. Es schien also sinnvoll, etwas auszuwählen, mit dem mindestens einer von uns Erfahrung hatte.

Bevor ich mich für Continuum entschieden habe, hatte ich einen Junior-Entwickler, der zwei Wochen lang versuchte, CruiseControl zum Laufen zu bringen. Wir haben jedoch Continuum 1.0 zum ersten Mal ausgeführt.


0

Wir verwenden Zutubi Pulse und es funktioniert hervorragend für uns. Es ist sehr einfach zu bedienen und hat viele erweiterte Funktionen.


0

Wir verwenden StarTeam und zwischen Hudson und CruiseControl.NET weist CC.NET einige Fehler bei der Integration in StarTeam auf. Es scheint den Arbeitsbereich, den wir in den Konfigurationsdateien definieren, nicht zu erkennen.


0

Letztes Jahr habe ich auf einer Konferenz in den USA zum ersten Mal in einer einstündigen Präsentation von Cruise Control .net gehört. Auf meinem Heimweg in der Ebene habe ich beschlossen, einen kleinen POC für unser Unternehmen zu implementieren, und dies in weniger als 5 Stunden erfolgreich erledigt ( einschließlich all des Lernens, das ich hätte tun können).

Ich benutze es seitdem als und ich muss sagen, dass ich mit den Ergebnissen und der einfachen Bedienung sehr zufrieden bin. Es gibt einige Nachteile (z. B. mangelnde Verteilung der Aufgaben auf die Server-Skala, obwohl Sie mehrere Server überwachen können). Ich habe einen Fehler gefunden eine der Implementierungen und da es sich um Open Source handelt, hätte ich es sehr schnell beheben können (großer Vorteil) - ich habe ein kleines [Projekt] [1] in Codeplex erstellt, um meine Korrekturen zu enthalten, bevor ich sie als Check-in zur Community beitrage Ich empfehle Ihnen dringend, sich diese Plattform anzuschauen. Es wäre auch schön, wenn Sie sagen könnten, was Sie tatsächlich brauchen.

[1]: http://www.codeplex.com/DavidovitzCCE Projekt


0

Schauen Sie sich unser Parabuild an . Im Vergleich zu kostenlosen Tools ist es sehr einfach einzurichten und der Wartungsaufwand liegt nahe bei Null. Es ist nicht kostenlos, aber Sie bekommen, wofür Sie bezahlen.


0

Warum nutzen Sie keinen gehosteten CI-Service, dann müssen Sie sich keine Gedanken über Wartung, Kosten usw. machen.

MikeCI ist ein gehosteter CI-Dienst, der Ihre Builds in Amazon EC2 hostet und für nur 10 US-Dollar pro Monat um einiges billiger ist als die Wartung Ihres eigenen CI-Servers.

Probieren Sie es aus.


Bedenken Sie, dass Sie Ihre Software in diesem Fall an Dritte weitergeben. Möglicherweise dürfen Sie das nicht tun. Und selbst wenn es dir erlaubt ist, würde ich einen anständigen Blick darauf werfen, wenn es sich wirklich lohnt. Es ist eine wirklich schlechte Sache, Ihre Software an Dritte weiterzugeben, und das möchten Sie die meiste Zeit nicht. Nicht um nur ein paar Dollar zu sparen. Wenn es nicht als Open Source gedacht ist, möchte ich in den meisten Fällen keine Software an Dritte weitergeben, die mich Tausende von Dollar gekostet hat.
Fabian Barney


0

CruiseControl.NET ist auf Windows-Boxen viel effektiver als die ursprüngliche Java-basierte. Insbesondere wenn ein dedizierter Build-Server noch nicht verfügbar ist.


Viel effektiver als was?
EFraim

Dann original Java CruiseControl. Ich werde die Antwort korrigieren.
Oleg Zhylin

0

Vielleicht möchten Sie es auch ansehen

http://www.thoughtworks-studios.com/solutions/deployment-management Linktext

Die ThoughtWorks Deployment Management-Lösung kombiniert die Leistung von Twist (agiles Testen) mit Go (Release-Management).

  • Twist erfasst die Anforderungen, die direkt von Geschäftsbenutzern getestet werden sollen,
    und unterstützt deren Automatisierung als Langzeittests, die sich mit der Anwendung entwickeln.
  • Go hilft Entwicklungs- und IT-Betriebsteams dabei, Release-
    Prozesse zu modellieren und Software
    wiederholt und zuverlässig bereitzustellen.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.