Frage

Ich verwende derzeit Subversion für meine Versionskontrolle über AhnkSVN und Visual Studio.Ich habe vor Kurzem angefangen, es zu verwenden Baumchirurg um meine Projekte einzurichten.Es erstellt automatisch ein Build-Skript mit NAnt.Ich möchte in der Lage sein, regelmäßig Builds von Projekten innerhalb von SVN zu automatisieren.Mir gefällt die Idee, bei jedem Check-in einen Build durchzuführen, aber nächtliche Builds würden auch funktionieren.Ich würde mehr Informationen oder mehr meiner Gedanken preisgeben, aber ich dachte, ich lasse es offen und schaue, was die SO-Community zu sagen hat.

War es hilfreich?

Lösung

Du könntest benutzen CruiseControl.Net, das bei jedem Check-in, bei nächtlichen Builds oder wie auch immer Sie es tun möchten, einen Build durchführen kann.Eine schnelle Google-Suche deutet darauf hin, dass CC.Net welche hat Integration mit NAnt bereits.

Andere Tipps

Wie andere bereits erwähnt haben, verwenden wir hier CCNET, wobei wir normalerweise nicht an einem nächtlichen Build arbeiten, sondern stattdessen eine kontinuierliche Integrationsstrategie verfolgen (bei jedem Check-in).

Ich würde empfehlen, das Gleiche zu tun, sei es alleine oder im Team, denn Sie können sehr einfach Unit-Tests einrichten, die auch bei jedem Check-in ausgeführt werden, FXCop-Tests und eine Reihe anderer Produkte.

Wenn Sie nur in einem Ein-Mann-Team arbeiten und nicht zu viele Projekte am Laufen haben, würde ich Ihnen ebenfalls raten, sich umzusehen Team City als Option, da es eine kostenlose Version gibt und Berichterstellung und Einrichtung angeblich viel einfacher sind (für mich sieht es gut aus).

Allerdings haben wir mit CCNET angefangen und mehrere Produkte zu groß gemacht, um Team City in der kostenlosen Version anzusehen, und sind mit dem, was wir haben, sehr zufrieden.

Zu den Funktionen, die CCNET unterstützen, gehören:

  • XML-basierte Konfiguration – Sie können normalerweise das meiste, was Sie benötigen, kopieren und einfügen.
  • Mehr oder weniger können Sie Ihr Treesurgeon-Skript als Build-Skript einbinden und CCNET darauf als ausführbare Aufgabe verweisen, um die Kompilierung auszuführen.
  • Umfangreiche Dokumentation und sehr einfach einzurichtende Nunit, Ncover, FXCOP usw.
  • Taskleisten-App, die Sie jederzeit über den Status Ihrer Projekte informiert und außerdem eine E-Mail auslösen oder einen RSS-Feed mit den gleichen Informationen führen kann.

Aber ich würde auf jeden Fall bei jedem Einchecken einen CI-Build ausführen – in den meisten Fällen werden die Komponententests vor dem Einchecken ausgeführt, aber der CCNET-Server soll alle Anwendungen/Assemblys ausführen lassen, die Abhängigkeiten von der von uns verwendeten Assembly haben würden. Beim Einchecken werden sie bei jedem Einchecken neu aufgebaut und erneut getestet.

Da es kostenlos ist und die Einrichtung sehr wenig Zeit in Anspruch nimmt, würde ich Ihnen wärmstens empfehlen, es einfach auszuprobieren.

CruiseControl.NET ist meiner Meinung nach die beste Option.Es lässt sich bei Bedarf recht einfach um benutzerdefinierte Aufgaben erweitern, funktioniert sofort mit NAnt und MSBuild und wird sehr aktiv gewartet.

Es gibt auch Draco.NET, das von CruiseControl.NET inspiriert wurde und etwas leichter ist.Sieh dir das an Artikel Weitere Informationen zu beiden Continuous-Integration-Lösungen finden Sie hier.

Ich schlage vor TeamCity. :)

Ich mag es sehr Buildbot.Es ist Open Source, in Python geschrieben und sehr einfach bereitzustellen, zu entwickeln und zu warten.Es lässt sich problemlos in SVN und die meisten anderen Quellcodeverwaltungssysteme integrieren.Alle Ihre Build-Skripte bestehen aus Python-Code, sodass Sie hinsichtlich der Möglichkeiten Ihrer Kern-Build-Master-Skripte viel Flexibilität haben.Sie können damit natürlich auch jede andere Art von Skript oder Batchdatei starten.

Schauen Sie sich vielleicht einige Beispiele von Buildbot in Aktion an:

Vielleicht möchten Sie CI-Factory in Betracht ziehen.Es handelt sich um einen Builder für kontinuierliche Integrationsumgebungen, der CruiseControl.NET und ein Dutzend anderer Tools verwendet.Hier gibt es einen hervorragenden Screencast: http://www.dnrtv.com/default.aspx?showID=64

Wir verwenden CruiseControl.NET sowohl mit NAnt als auch mit MsBuild für unseren Build-Server.Wir haben es so konfiguriert, dass es bei jedem Einchecken von Code Builds sowie nächtliche Builds gibt.

Kaskade Unterstützt die Erstellung eines Builds für jede einzelne im Repository festgeschriebene Änderung.

Ich verwende FinalBuilder nun schon seit einigen Jahren.Der Vorteil von FinalBuilder besteht darin, dass es viel mehr kann als nur Builds.Ich habe es eingerichtet, um eine Analyse der Ergebnisse durchzuführen, Archive der Builds zu erstellen, Fehlerprotokolle zu versenden usw.Die neueste Version verfügt über eine Weboberfläche, die es Nicht-Experten ermöglicht, Builds mit einem Klick zu starten.

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