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.
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.
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:
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.
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.
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:
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.
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.
Tags und Links svn build-automation nant