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.
java
continuous-integration
pfranza
quelle
quelle
Edit: Wir verwenden jetzt Hudson.
Vor einiger Zeit habe ich mir einige davon mit den folgenden Anforderungen angesehen:
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.
quelle
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.
quelle
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.
quelle
Atlassians Bambus sieht gut aus, aber ich habe keine Erfahrung damit. Sieht in den Funktionen ähnlich aus wie Cruise oder TeamCity .
quelle
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 .
quelle
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.
quelle
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
quelle
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.
quelle
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.
quelle
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.
quelle
Nur ein Wort zur Continuous Integration Feature Matrix : Sie wurde nicht von den CruiseControl-Mitarbeitern gesammelt, sondern vom DamageControl-Projekt auf CodeHaus gestartet und in das CruiseControl-Wiki verschoben, als DamageControl in den Ruhezustand überging. Die Informationen werden größtenteils von den Projekt- / Produktbesitzern oder ihren Fans gepflegt.
quelle
Ich bin glücklich mit Bambus . Ich habe mir eine Reihe kostenloser Lösungen angesehen, bevor ich mich dazu entschlossen habe.
quelle
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.
Schauen Sie sich die Live-Demo an . Konto / Passwort Demo / Demo
Hinweis: Die Live-Demo ist einige Veröffentlichungen zurück.
quelle
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/
quelle
Thoughtworks Cruise ist der kommerzielle Nachwuchs des Open-Source-Projekts CruiseControl . Sieht sehr gut aus, viele Funktionen, verteilte Builds usw. Ich weiß nicht, wie erweiterbar es ist.
quelle
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!
quelle
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.
quelle
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.
quelle
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). .
quelle
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.
quelle
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.
quelle
Wir verwenden Zutubi Pulse und es funktioniert hervorragend für uns. Es ist sehr einfach zu bedienen und hat viele erweiterte Funktionen.
quelle
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.
quelle
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
quelle
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.
quelle
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.
quelle
Erwägen Sie einen kostenlosen gehosteten CI-Service auf fazend.com . Es unterstützt
ant
.quelle
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.
quelle
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).
und unterstützt deren Automatisierung als Langzeittests, die sich mit der Anwendung entwickeln.
Prozesse zu modellieren und Software
wiederholt und zuverlässig bereitzustellen.
quelle