Frage

Ich möchte Sie fragen, welche automatisierte Build-Umgebung Sie besser betrachten, basierend auf praktischen Erfahrungen. Ich plane einige .Net und einige Java-Entwicklung zu tun, so möchte ich ein Werkzeug haben, die diese beiden Plattformen unterstützt.

Ich habe gelesen, um und fand heraus, über CruiseControl.NET , auf Stackoverflow-Entwicklung verwendet, und Teamcity mit seiner Unterstützung für Build-Agenten auf verschiedenen OS-Plattformen und basieren auf unterschiedlichen Programmiersprachen. Also, wenn Sie einige praktische Erfahrungen auf diese beiden haben, die man bevorzugen Sie und warum?

Zur Zeit bin ich vor allem daran interessiert in den einfachen Handhabung und Verwaltung des Werkzeugs, viel weniger in der Tatsache, dass CC Open Source, und TC ist ein Thema, an einem gewissen Punkt zu lizenzieren, wenn Sie viele Projekte zu laufen ( weil, ich brauche es für eine kleine Menge von Projekten).

Auch wenn es einige andere Werkzeug, das die oben genannte trifft und Sie glauben, es ist eine Empfehlung wert -. Fühlen Sie sich frei in die Diskussion einbeziehen

War es hilfreich?

Lösung

Ich habe auf und mit Continuous Integration Tool seit dem gearbeitet wird, die Cruise Control (Java-Version) hervorgebracht. Ich habe fast alle von ihnen irgendwann versucht. Ich habe noch nie glücklicher gewesen, als ich mit Teamcity bin. Es ist sehr einfach einzurichten und bietet noch sehr viel Macht. Die Build-Statistik-Seite, die Zeiten, Unit-Test-Zählung zeigt bauen, Geschwindigkeit usw. passieren ist sehr schön. Teamcity Projekt-Homepage ist auch sehr wertvoll. Für einfache .NET-Projekte können Sie einfach Teamcity sagen, wo die Lösung ist und welche Baugruppen haben Tests und das ist alles, es (anders als Source-Control-Standort) benötigt. Wir haben auch verwendet, einige komplizierte MSBuild Scripts mit ihm und fertig bauen Verkettungs. Ich habe auch durch zwei Teamcity Upgrades gegangen und sie waren schmerzlos.

CruiseControl.NET auch gut funktioniert. Es ist schwieriger einzurichten, aber es hat eine längere Geschichte, so dass es leicht ist, Lösungen im Web zu finden. Da CruiseControl.NET Open Source haben Sie auch die Möglichkeit, das Hinzufügen oder Ändern, was auch immer Sie mögen. Ich hatte CruiseControl.NET seit seiner Veröffentlichung verwendet und einige der frühen Code für cc.tray (von jemandem Glück neu geschrieben, die es besser wussten) schrieb.

Cruise, von Thoughtworks, sieht auch ganz gut, aber ich einen zwingenden Grund für mich nicht wechseln sehen. Wenn ich ein neues Projekt begann, ich könnte es versuchen, aber Teamcity hat einen tollen Job macht die einfachen Dinge einfach getan, während der Komplex ganz schmerzlos zu machen.

Edit: Wir bekamen ein Upgrade nur vor ein paar Wochen auf Teamcity 5.0 und es war wieder ein schmerzlos Upgrade. Es lassen Sie uns die Vorteile der verbesserten Code-Coverage-Fähigkeiten und GIT Unterstützung nehmen. Wir verwenden jetzt auch die persönliche Build und vorgetesteten begehen Features, die in für eine Weile gewesen sein. Ich dachte nur, soll ich die Antwort zu aktualisieren, um anzuzeigen, dass Teamcity wird immer besser und ist immer noch einfach zu bedienen.

Andere Tipps

ich war / bin ich ein großer Fan von CC.NET. Aktuell haben wir 5 Projekte in CruiseControl- und funktioniert super. Schreiben Konfigurationsdateien mit der Hand kann schmerzhaft sein, aber es ist in Ordnung.

Aber .

Nach dem Kona: Continuous Integration und bessere Unit Testing Screencasts (der ersten 1/3 über Teamcity) ich werde überprüfen zu Teamcity. Ich liebe das integrierte Unit-Test-Armaturenbrett und die Konfigurationsoberfläche.

Ich denke alle sollte sich dieses Video ansehen, bevor CC.NET oder Teamcity zu wählen.

P. S .: Ich hoffe, dass es ein wertvolles CC.NET Video auch auf dem Netz ist.

Mein Liebling CI-Server ist bei weitem Hudson. Einfach einzurichten und zu pflegen, viele schönen Grafiken für Trends zu Entwicklern und Nicht-Entwickler und frei zeigen.

Ich benutze Teamcity derzeit an einem Projekt, und ich bin mit ihm im Allgemeinen zufrieden, aber viele der Graphen erzeugen sie sind nicht besonders nützlich, und es ist komplizierter, als Hudson zu konfigurieren.

Das heißt, Teamcity ist eine leistungsfähige, frei für viele Anwendungen und hat ein Killer-Feature: Remote Run. Sie können „pre-commit“ Ihre Check-in direkt aus IDEA oder Eclipse, führen Sie eine oder mehr bauen Konfigurationen auf dem Server Teamcity, und nur die Änderungen zu übernehmen, wenn der Build erfolgreich ist (beispielsweise kompiliert und alle Tests bestanden).

Da Sie beide Teamcity und Hudson und läuft in ein paar Stunden bekommen können, könnte es wert seine beide greifen und sie Seite an Seite laufen, zusammen mit allen anderen (wie Cruisecontrol), die man sich denken kann. Wenn Sie nicht schnell einen CI-Server stehen können einen Side-by-Side-Vergleich zu tun, dann haben Sie zumindest einen Datenpunkt für eine einfache Installation und / oder Konfiguration.

Ich habe sie beide erfolgreich an verschiedenen Projekten eingesetzt. Vom Aufbau und administrativen Standpunkt Team-Stadt ist viel einfacher zu handhaben. Sie müssen nicht mit CONFIG-Dateien hacken herum wie Sie mit CC zu tun und das Setup ist ein Kinderspiel. Da Sie mich über CC würde empfehlen, Team-Stadt nicht viele Projekte haben, bis Sie auf den Punkt, die Team-Stadt kostet $$.

Ich habe sowohl CC.net und Teamcity verwendet. Ich bin mit der Einrichtung und Installation von Teamcity für meine Organisation (5-Entwickler) beauftragt. Unsere Organisation verwendet einige ungewöhnliche Praktiken und Werkzeuge (zumindest für Orgs unserer Größe), wie Perforce für die Quellcodeverwaltung und mehrere Agenten bauen auf heterogene Betriebssysteme ausgeführt werden, die einige für die Installation Kopfschmerzen verursacht. Allerdings war die Unterstützung per E-Mail absolut erstklassig in immer alles eingerichtet. Ich erhielt Antworten auf meine dummen Fragen in nur wenigen Minuten.

Die Schnittstelle ist intuitiv und ansprechbar, sowie feature-packed. Das Produkt fühlt sich sehr teuer. Die Konfiguration ist einfach, und die Web-Oberfläche ist intellegent genug, um sich zu aktualisieren, ohne Neustart des Agenten oder Server-Dienste oder sogar erfrischend auf der Seite.

Ich fühle mich wie wir gerade über jede erweiterte Funktion des Produkts verwenden und haben keine Fehler bei allen bisher gefunden. NDepend Integration, verschachtelt NAnt Skripte, Perforce Version Kennzeichnung, nennen Sie es, sind wir es zu tun.

ich Teamcity jedem empfehlen, für eine kontinuierliche Integration Server suchen oder auf jedem Build-Server, wirklich.

Ohne es zu wollen alternative Werkzeuge auf Dich werfen :-)

Hudson ist eine große Open-Source-Alternative habe ich verwendet, CC und CC.net, und ich bekenne, ich glaube sie sind fantastische Werkzeuge. Ich grüble zu hudson Schale wie es viel einfacher aufzusetzen apears und erhalten.

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

Stellen Sie sicher, das System, das Sie auf der Waage auf die Anzahl der Projekte entscheiden, dass Sie es müssen zu handhaben ...

Ich benutze CruiseControl.Net aber ich würde es nicht für den Aufbau vieler Projekte empfehlen ... Ich habe eine (möglicherweise etwas seltsam) Anordnung, wo ich viele C ++ statische Bibliotheken, die ich in Anwendungen zusammenzustellen. Jede Bibliothek hängt von anderen Bibliotheken und die Anwendungen zu ziehen in einem Satz von Bibliotheken und zu bauen. Jede lib hat eine Test-Suite. Jede Anwendung hat eine Testsuite. Ich baue für 5 Compiler und Variationen (Fenster) Plattformen.

Das erste, was ich fand, war, dass CC.Net Projekt Auslöser sind nicht wirklich ganz das, was Sie brauchen, und der Multi-Trigger spielt nicht gut mit Projekt auslöst. Die Art und Weise Projekt löst Arbeit (sie Remote mit dem Server verbinden verwenden, wo das Projekt (auch gespeichert wird, wenn es ein Projekt, das von der gleichen Instanz von CC.Net) und ziehen Sie dann alle Projekte von diesem Server und suchen Sie die Liste sequentiell verwaltet für das Projekt suchen, der Sie interessiert ...) bedeutet, dass sie nicht gut skalieren. Sobald Sie über eine bestimmte Anzahl von Projekten erhalten werden Sie feststellen, dass CC.Net die meisten der CPU für Ihren Build-Rechner nimmt.

Natürlich ist es Open Source, so können Sie es reparieren ... Und ich bin sicher, dass es für eine kleine Anzahl von nicht-interdependent Projekte in Ordnung.

Für weitere Informationen über die Probleme, die ich hatte und einige Patches für CC.Net hier sehen http://www.lenholgate.com/archives/cat_ccnet.html

Ich habe vor kurzem Setup cc .net. Es ist eine große Anwendung, aber ein wenig Geduld erfordert. Sie werden in Notepad viel Bearbeitung Konfigurationsdateien werden :)

Es ist schon eine Weile so seine gut unterstützt und Sie können in der Regel jemanden finden, der getan hat, was Sie vor wantto tun. Das Web-Interface ist .net als auch das ist ein Plus für uns war, da wir ein Microsoft-Shop sind.

I havent gebrauchte Teamcity, aber ich habe schon einige Empfehlungen davon gehört und es sieht hübsch aus.

Ich hatte eine Erfahrung Einrichtung und den Betrieb CruiseControl- (Java-Version) auf Linux während meiner früheren Firma. Wie die meisten Menschen legen nahe, ist es nicht die triviale Sache zu gründen. Sie müssen ihren Rahmen, um mit dem bearbeitbar / managable Config zu kommen, zu verstehen. Sobald Sie jedoch, dass die Höcker übergeben, ich fühle, dass CruiseControl- ziemlich flexibel genug ist, dass Sie andere Art von Dingen zu tun, damit verschiedene Szenarien passen.

Außerdem CruiseControl- Dokumentation, seine Wikiseite auch auch einige nützliche Informationen hat .

Ich habe keine direkte Erfahrung mit Teamcity. Obwohl seine Pre-Test-commit-Funktion interessant genug aussieht.

Die andere CC-Tool, das Sie es sehen geben könnte, ist Bambus von Atlassian. Es ist viel einfacher zu installieren und die Schnittstelle ist schöner. Obwohl, es ist nicht so flexibel wie das, was CruiseControl- bietet.

Eine dritte Option Sie vielleicht zu berücksichtigen: Thoughtworks Cruise. Es ist auf CruiseControl- gebaut, bietet aber viel mehr Funktionen, einfachen Aufbau, etc, etc. Nicht frei (oder Open Source).

http://studios.thoughtworks.com/cruise-continuous-integration

Ich habe Teamcity wurde mit den letzten 1 ½ Jahren und eine große Erfahrung. Ich habe eine Reihe von .Net und Java-Projekte integriert und verwendet Tools wie MSBuild, Maven usw. Ich fand Teamcity ziemlich einfach mit einzurichten und zu arbeiten. Ich habe zu bekommen CI verwaltet auch für einige SQL-Projekte laufen, die ein bisschen Alptraum war, die mit anderen CI-Tools hätte schlimmer kommen können.
Kürzlich auf Teamcity aktualisiert 8.0.6, die schmerzlos war. Auch Teamcity bietet einen REST API , das für einige Szenarien sehr nützlich ist. Wenn Sie Powershell für die Automatisierung verwenden Builds gibt eine Reihe von Psake / Teamcity Integration Skripte auf GitHub

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