Vergleich von CI-Servern? [geschlossen]

87

Ich suche nach einem Vergleich verschiedener CI-Server ( Continuous Integration ) (insbesondere mit .NET) und konnte keine finden.

Daher möchte ich wissen, was Sie über die verschiedenen verfügbaren Lösungen denken, welche Vor- und Nachteile es gibt, welche Hosting-Anforderungen es gibt und warum CI Server XY der Server Ihrer Wahl ist.

Ich interessiere mich für Ihre Gedanken zu (zögern Sie nicht, andere zu kommentieren):

Punkte von Interesse sind:

  • Konfiguration (einfach, flexibel)
  • Integration mit SCM (insbesondere DSVC wie git oder hg)
  • Integration mit Build-Systemen (MSBuild, NAnt, Rake)
  • Integration mit Testing Frameworks
  • Integration mit Source Anaylsis (Simian, NDepend, FxCop, NCover usw.)
  • WebInterface / Dashboards
  • Infrastrukturanforderungen
Peter Mortensen
quelle
31
27 Leute finden das nützlich - aber es ist geschlossen. Seufzer
Ryan
CruiseControl.NET zog um, nachdem die Zusammenarbeit mit Thoughtworks beendet war. Neue URL: cruisecontrolnet.org
Jowen
2
@ Ryan, es gibt viele interessante Dinge auf der Welt, die nicht gut zu SO passen.
Andy Wiesendanger
Warum nicht Azure DevOps ?
Zwcloud

Antworten:

51

Keine Frage wie diese ist vollständig ohne einen Link zur großen CI Feature Matrix (Webarchiv), in der nahezu jede CI-Option aufgelistet ist.

Ich denke jedoch, dass es wichtig ist, vorausschauend zu prüfen, was Sie in Ihr CI-System aufnehmen möchten. Werden es nur Builds sein oder werden Sie andere Elemente wie statische Analyse, projektübergreifende Abhängigkeiten, Bereitstellungen, Funktionstests usw. einbringen? Um diese Planung zu erleichtern, habe ich dieses Wallchart für die Elemente von Enterprise CI (PDF) erstellt ; keine Registrierung erforderlich). Bitte lassen Sie sich nicht vom "E-Wort" abschrecken. Ich meine nur Dinge, die über das grundlegende schnelle Feedback-CI-Build hinausgehen. :) :)

Es ist nicht werkzeugspezifisch, listet jedoch eine Vielzahl von Methoden auf, die Sie in der Planungs- / Evaluierungsphase berücksichtigen könnten.

Jeffrey Fredrick
quelle
5
Meine Güte. Diese Matrix leidet unter "DeathByOverload". Basic UX schreibt vor, dass große Gitter ohne Filterung nutzlos sind. Um die Verletzung zusätzlich zu beleidigen, gibt es keinen Download (CSV) und der Abschlag kann nicht direkt heruntergeladen werden. Sogar das widerstand dem Kopieren in Excel ... Ich gab auf.
sehe
4
Der Feature Matrix Link ist tot :(
Marty
11
Archivierte Seite: web.archive.org/web/20130730154141/http://…
Darren Griffith
1
Archivierte Seite ist wegen robots.txt
Sebazzz
14

Nichts hilfreich in:

EDIT : Ein Hinweis von Jonik in einem Kommentar, den ich verpasst habe Was ist der Unterschied zwischen Hudson und CruiseControl für Java-Projekte? und wie und warum richte ich eine C # -Erstellungsmaschine ein? . Sie finden sehr aufschlussreiche Antworten. Mit anderen Worten, ich denke, dass alles, was Sie suchen, bereits auf Stack Overflow ist.

Pascal Thivent
quelle
1
Ich bin damit einverstanden, dass SO bereits ziemlich voll von Vergleichen von CI-Servern ist. Ich weiß nichts über Teamcity und CIFactory, aber was CC (.net) und Hudson betrifft, ist die Wahl heutzutage ziemlich klar. Hier ist meine Meinung dazu: stackoverflow.com/questions/604385/… . (Egal, die Java-Betonung in dieser Frage; Hudson eignet sich auch hervorragend für .NET: stackoverflow.com/questions/616149/… )
Jonik
@ Jonik Danke, sehr gute Links. Ich weiß nicht, wie ich sie vermisst habe, sie liefern beide großartige Antworten und sehr nützliche Informationen.
Pascal Thivent
"Weiß nicht über Teamcity und CIFactory Bescheid" ... genau deshalb möchte ich einen gründlichen Vergleich, der sich NICHT nur mit x vs. y befasst. Deshalb handelt es sich um ein Community-Wiki. Sie können die Schlussfolgerung gerne aus den Links ziehen, auf die verwiesen wird.
Johannes Rudolph
@ Johannes, fair genug; Ich stimme zu, dass die meisten bestehenden Fragen einen begrenzten Umfang haben. Aber es kann nicht viele Anwender hier mit Erfahrung mit allen von Hudson, CC, Teamcity und CIFactory , die einen guten Vergleich bieten könnten. Wenn Sie einen CI-Server benötigen, ist mein Rat (aus persönlicher Erfahrung und z. B. Abstimmungen auf stackoverflow.com/questions/140453/… ), zuerst Hudson auszuprobieren.
Jonik
7

TeamCity bietet dem Entwickler die wunderbare Möglichkeit, vor dem Festschreiben einen persönlichen Build durchzuführen. Sehr hilfreich!

CruiseControl.NET ist der Urvater der Gruppe und daher optisch ein wenig veraltet usw. Wie schon seit einiger Zeit weiß Google, wie man viele Probleme behebt, auf die man stoßen wird.

Aus diesen Gründen (unter anderem) verwende ich CruiseControl.NET bei der Arbeit und TeamCity zu Hause und in meinem Open Source-Leben :)

Daniel Elliott
quelle
Ah, ist CC.Net nicht der .net-Port von CruiseControl?
Mnementh
5

Ich bin ein CruiseControl.NET-Benutzer. Meine Teams verwenden es bei der Arbeit und ich verwende es zu Hause für persönliche Projekte.

Mit CruiseControl.NET kann ich insbesondere den gesamten CI-Prozess durchlaufen: Builds, Versionsaktualisierung, Unit- und Integrationstests, Archivierung des Quell- oder Release-Kandidaten, Codeabdeckung, sogar Bereitstellung auf unserem Testsystem bei der Arbeit. Es ist hochgradig anpassbar, funktioniert gut mit MSBuild und NAnt und verfügt sogar über eine erweiterbare Plug-In-Architektur.

Es macht so ziemlich alles, was ich brauche.

Der größte Nachteil: Die Konfiguration ist manchmal schmerzhaft und kann einige Zeit dauern. Aber sobald es fertig ist, ist es fertig, und wie ein anderes Poster sagte, liebe ich es, das Signal "Erfolgreicher Build" zu sehen, weil ich weiß, dass nicht nur der Build selbst funktioniert hat, sondern auch, dass meine Unit- und Integrationstests alle erfolgreich ausgeführt wurden.

scottmarlowe
quelle
2

Team Foundation Build ist eine Option und interagiert sehr gut mit Team Foundation Server. Es ist kostenlos, solange Sie TFS lizenziert haben.

Der Matt
quelle
Ich dachte, niemand würde TFS Build System erwähnen, das vollständig in TFS integriert ist und von Microsoft unterstützt wird. Die meisten .NET-Entwickler haben möglicherweise bereits TFS installiert.
Diego Mendes
Team Builds in TFS 2015/2017 sind viel einfacher zu konfigurieren und zu verwenden, und Sie können sie sogar in Echtzeit mit CatLight Build Monitor überwachen
Thomas Bennet
Es gibt wahrscheinlich einen Grund, warum es nicht erwähnt wird ... Meine 2 Cent: Wir haben gerade angefangen, an dem Projekt zu arbeiten, das es verwendet. Wir versuchen, unsere Automatisierung zu verbessern und eine Lieferpipeline einzurichten ... aber hin und wieder geht CI "die Puste aus Minuten "und raten Sie mal, was ... Sie müssen für einige Minuten bezahlen. Das ist der Grund, warum ich in diesem Thread bin ...
Julia
1

Wir benutzen Hudson bei der Arbeit. Der Hauptgrund ist, dass es sehr einfach einzurichten ist. Sie können den Krieg direkt ausführen (es ist ein ausführbares JAR) oder in einem beliebigen Servlet-Container bereitstellen. Und du bist bereit zu beginnen. Auch Hudson unterstützt viele Tools und ist durch sein Plugin-System erweiterbar.

Mnementh
quelle
1

Wir haben vor allem wegen der einfachen Konfiguration von CruiseControl.NET zu TeamCity gewechselt. TeamCity bietet auch mehr Funktionen, aber der Hauptgrund war, dass eine schöne Web-Benutzeroberfläche einfacher zu verwenden ist als XML-Konfigurationsdateien.

BEARBEITEN: Die meisten Aufgaben, die TeamCity erledigt, werden sofort ausgeführt. Bei Bedarf verwenden wir NAnt.

TrueWill
quelle
1

CruiseControl.NET - das Einrichten kann (wie bei den meisten CI-Systemen) etwas mühsam sein, aber es lohnt sich, es beizubehalten. Ich habe es derzeit so eingerichtet, dass nach Abschluss der Builds Komponententests ausgeführt und Wix-Installationsprogramme nach Bedarf erstellt werden. Wie Dan sagte, sieht es etwas veraltet aus, aber das spielt keine Rolle, da es Ihnen viele Informationen liefert, die leicht zu bekommen und leicht zu lesen sind.

Eine Sache - stellen Sie sicher, dass alle Ihre Entwickler CC Tray installiert haben, ausgeführt werden und auf ihre Builds verweisen. Es ist ein großartiges Gefühl, "einen weiteren erfolgreichen Build" in Ihrer Benachrichtigungsleiste zu haben.

Pete OHanlon
quelle
0

Wir verwenden ccnet bei der Arbeit, was für die meisten unserer Anforderungen in Ordnung ist (wir haben ungefähr 50 automatisierte Builds), aber es benötigt eine Person für die Vollzeitoptimierung und -behebung.

Wenn Sie von vorne anfangen, schauen Sie sich bitte Bamboo an. Wir haben uns das angeschaut und es sieht wirklich vielversprechend aus, aber es entspricht nicht ganz unseren Anforderungen und wir haben viel zu viel Zeit in ccnet investiert, um jetzt zu Bamboo zu wechseln.

Grüße,

Sebastiaan

Sebastiaan M.
quelle
0

Ich habe einen Luntbuild-Server geerbt. Keine gute Option für ein .NET-Projekt. Wenn Sie feststellen, dass Sie ständig auf die Verwendung des Build-Servers zurückgreifen, um allgemeine Befehlszeilenaufgaben auszuführen, stimmt etwas nicht. Ein guter Build-Server hatte ein gutes Verständnis für die Ausgabe von Komponententests und msbuild-Aufgaben als mehr als undurchsichtige Befehle, die ausgeführt werden müssen, wenn sich das Quellcodeverwaltungssystem ändert.

Ich genieße es, nach Team City zu migrieren.

MatthewMartin
quelle
0

Ich bin ziemlich neu in der CI-Szene und habe meine Bemühungen auf CruiseControl.NET konzentriert und NAnt und Ivy zum Erstellen meiner .NET-Projekte verwendet.

Ich habe festgestellt, dass CruiseControl.NET sehr anpassungsfähig an viele andere Tools wie NCover / NUnit / etc. Ist. Sie alle schließen sich dem an und integrieren die Ergebnisse für einen kombinierten Erstellungsprozess.

Ich werde in naher Zukunft nach TeamCity suchen, um mein eigenes Interesse zu wecken, aber ich denke, dass CruiseControl einen guten Job macht, aber nur so gut wie Ihre Build-Skripte! Wenn dies Hosen sind, kann man nur erwarten, dass Ihre Körperbau so gut ist.

Zusammenfassend ist CruiseControl.NET eine gute Lösung, aber ich muss erst noch herausfinden, wie gut die Konkurrenz im Vergleich ist.

Brett Rigby
quelle
0

Wir sind glücklich mit Hudson . Ich habe nichts zu vergleichen, aber es war einfach zu konfigurieren und zum Laufen zu bringen. Im Moment werden nur Win32 C ++ - Projekte und ein Installationsprogramm erstellt, aber wir portieren auf Linux und es sollte auch damit funktionieren.

Ruft Subversion- Repositorys ohne Probleme ab und sendet Benachrichtigungen usw. per E-Mail. Es gefällt uns bisher. Auch hier haben wir nur begrenzte Erfahrung mit Vergleichen.

Peter Mortensen
quelle
0

Ich arbeite seit mehreren Jahren mit CruiseControl.NET, TFS 2012 und TeamCity 7.x und glaube, dass TeamCity aufgrund seiner Benutzerfreundlichkeit, der komfortablen und informativen Benutzeroberfläche und anderer cooler Funktionen wie Build-Abhängigkeiten und vielem mehr das BESTE ist. Es funktioniert einfach, ich liebe es.

Alon Amsalem
quelle