Automatisierte Builds

8

Ich verwende derzeit subversion für meine Versionskontrolle über AhnkSVN und Visual Studio. Ich habe kürzlich angefangen, Baumchirurg zu verwenden, um meine Projekte einzurichten. Es erstellt automatisch ein Build-Skript mit NAnt . Ich würde gerne in der Lage sein, regelmäßig Build-Projekte innerhalb von SVN zu automatisieren. Ich mag die Idee, bei jedem Check-in einen Build zu erstellen, aber auch nächtliche Builds funktionieren. Ich würde mehr Informationen oder mehr meiner Gedanken geben, aber ich dachte, ich würde es offen lassen und sehen, was die SO-Gemeinschaft zu sagen hat.

    
Adam Carr 31.08.2008, 02:09
quelle

10 Antworten

5

Sie können CruiseControl.Net verwenden, auf das Sie aufbauen können jeden Check-in, jede Nacht baut, oder wie auch immer Sie es tun möchten. Eine schnelle Google-Suche legt nahe, dass CC.Net bereits eine Integration mit NAnt hat.

    
Tadmas 31.08.2008, 02:14
quelle
4

Wie andere erwähnt haben, verwenden wir hier CCNET, das wir normalerweise nicht bei einem nächtlichen Build verwenden, sondern stattdessen mit einer Continuous Integration-Strategie (bei jedem Check-in).

Ich rate Ihnen, dasselbe zu tun, sei es alleine oder innerhalb eines Teams, denn Sie können sehr einfach Komponententests einrichten, die bei jedem Check-in, FXCop-Tests und einer Reihe anderer Produkte ausgeführt werden.

>

Wenn Sie nur ein Ein-Mann-Team sind und nicht zu viele Projekte unterwegs haben, rate ich Ihnen auch, Team City als eine Option, weil es eine kostenlose Version hat, und das Reporting und Setup ist Berichten zufolge viel einfacher (es sieht nett zu mir aus).

Das heißt, wir haben mit CCNET begonnen, und wir haben mehrere Produkte entwickelt, die zu groß sind, um Team City in der kostenlosen Version zu betrachten, und sind sehr glücklich mit dem, was wir haben.

Zu den Funktionen von CCNET gehören:

  • XML-basierte Konfiguration - Sie können normalerweise das meiste kopieren und einfügen, was Sie brauchen.
  • Mehr oder weniger werden Sie in der Lage sein, Ihr treesurgeon-Skript als Ihr Build-Skript zu verwenden und CCNET als ausführbare Aufgabe darauf hinweisen, die Kompilierung auszuführen.
  • Viel Dokumentation und sehr einfach einzurichten nunit, ncover, fxcop, etc.
  • Taskbar-App, mit der Sie jederzeit den Status Ihrer Projekte erfahren können. Sie können auch eine E-Mail auslösen oder einen RSS-Feed mit denselben Informationen führen.

Aber ich würde definitiv mit der Erstellung eines CI-Builds bei jedem Check-in fortfahren - in den meisten Fällen werden die Komponententests vor dem Einchecken ausgeführt, aber der CCNET-Server sollte alle Anwendungen / Assemblies ausführen, die Abhängigkeiten zu den Assembly wir einchecken, und sie werden neu gebaut und bei jedem Check-in erneut getestet.

Da es kostenlos ist und sehr wenig Zeit braucht, um es einzurichten, würde ich sehr empfehlen, es einfach zu versuchen.

    
crucible 31.08.2008 22:42
quelle
3

CruiseControl.NET ist meiner Meinung nach die beste Option. Es ist ziemlich einfach mit benutzerdefinierten Aufgaben zu erweitern, wenn benötigt, arbeitet mit beiden NAnt und MSBuild out of the Box und wird sehr aktiv gepflegt.

    
Scott Dorman 31.08.2008 02:43
quelle
1

Es gibt auch Draco.net , das von CruiseControl.NET inspiriert wurde und etwas leichter ist. In diesem Artikel finden Sie weitere Informationen zu Lösungen für die fortlaufende Integration.

    
David Crow 31.08.2008 02:21
quelle
1

Ich schlage TeamCity vor. :)

    
rafek 04.09.2008 19:33
quelle
1

Ich mag buildbot . Es ist Open Source, geschrieben in Python und sehr einfach zu implementieren, zu entwickeln und zu warten. Es lässt sich leicht mit SVN und den meisten anderen Quellcodeverwaltungssystemen integrieren. All Ihre Build-Skripte sind Python-Code, so dass Sie viel Flexibilität in Bezug darauf haben, was Ihre Haupt-Build-Master-Skripte leisten können. Sie können es natürlich auch verwenden, um jede andere Art von Skript oder Batch-Datei abzufeuern.

Sie können einige Beispiele für Buildbot in Aktion sehen:

Nathan Black 17.10.2008 19:07
quelle
0

Vielleicht möchten Sie CI-Factory in Betracht ziehen. Es ist ein Continuous Integration Environment Builder, der CruiseControl.NET und ein Dutzend anderer Tools verwendet. Es gibt hier einen exzellenten Screencast: Ссылка

    
Andy S 31.08.2008 04:30
quelle
0

Wir verwenden CruiseControl.NET mit NAnt und MsBuild für unseren Build-Server. Wir haben es so konfiguriert, dass es jedes Mal erstellt wird, wenn wir den Code einchecken, ebenso wie nächtliche Builds.

    
Jon Limjap 31.08.2008 22:57
quelle
0

Cascade unterstützt das Erstellen einer Build für jede einzelne Änderung, die an das Repository übergeben wird.

    
Matt Craighead 18.09.2008 23:37
quelle
0

Ich benutze FinalBuilder seit einigen Jahren. Der Vorteil von FinalBuilder ist, dass es viel mehr als nur Builds macht. Ich habe es eingerichtet, um eine Analyse der Ergebnisse zu machen, Archive der Builds zu erstellen, Fehlerprotokolle usw. zu senden. Die neueste Version hat eine Webschnittstelle, die es Experten nicht erlaubt, Builds mit einem Klick zu starten.

    
Bob McCabe 17.10.2008 19:17
quelle

Tags und Links