2009-07-13 9 views
5

Ich bin auf der Suche nach einer Build-Automatisierungslösung zur Verwendung mit einem Visual Studio-Lösungsbereich, der mehrere Projekte gemischter Quellentypen (hauptsächlich Win32 C++ und C#) enthält. Außerdem wird der gesamte Code in einem Subversion-Repository gespeichert. Es muss also vom Kopieren einer Arbeitskopie des Codes über das Kompilieren der Quelle bis zum Erstellen der Setup-Dateien reichen.Kostenlose Visual Studio Build-Automatisierungslösung

Anforderungen sind wie folgt:

Absolute Must Haves:

  • FREE
  • Einfache GUI zu verwenden (ich ein paar NMake Skripte bereits schreiben kann ... das ist, was ich nicht tun wollen)
  • Subversion Integration (zumindest in der Lage sein, den neuesten Code herunterzuziehen)
  • Sprachunterstützung mit mehreren Quellen (zweifelhaft, da dies am Ende mit VS erstellt wurde)
  • End-to-End-Automatisierung (Ein-Klick-Build)
  • Erstellen von Profilen (z. Intermediary vs Veröffentlichung)

Things I

  • Quelldatei suchen und ersetzen (zum automatischen Inkrementieren Versionsinformation in Header-Dateien)
  • E-Mail Reporting
  • Automatische möchte baut nach Subversion verpflichtet
  • Webschnittstelle
  • FTP-Integration
  • Fähigkeit, automatisch generieren Build Dateinamen mit der richtigen Version Strings

Dinge, die ich nicht

  • Unit Testing Unterstützung
  • Bug-Tracking-Integration
+0

Wird es kommerzielle oder freie Software sein? –

+0

Es ist für den Aufbau von kommerzieller Software –

Antwort

3

NAnt und CruiseControl.Net tun all dies, außer es hat keine GUI zum Erstellen der Build-Skripte selbst. Die GUI, die es hat, ist ein Web-Front-End, mit dem Sie Builds überwachen/erzwingen können, sowie eine System-Tray-Anwendung, die das Gleiche tut. Wenn GUI-Erstellung der Skripts eine wirklich große Anforderung ist, dann ist final builder eine Ihrer besten Optionen, aber es wird Geld kosten. Ich denke nicht, dass Sie die GUI in diesem Bereich kostenlos bekommen werden.

+0

Das Webdashboard von ccnet kann als eine sehr einfache GUI verwendet werden; Sie können Builds von dort erzwingen, den Fortschritt (mit den entsprechenden Plugins) betrachten und die Ergebnisse des Builds sehen. Grüße, Sebastiaan –

+0

Cool, aktualisierte meine Antwort, um das zu reflektieren. Danke –

3
brauchen

Haben Sie darüber nachgedacht, MSBuild zu verwenden? Es kommt kostenlos mit dem .NET-Framework.

Es würde eine kleine Menge an Codierung erfordern. Sie müssten beispielsweise eine neue .net-Klasse (abgeleitet von Task) erstellen, die die Execute-Funktion außer Kraft setzt, und dann SVN aufrufen, um Ihren Quellcode zu aktualisieren. Der Großteil des Setups befindet sich jedoch in einer build.xml-Datei, in der Sie Lösungsdateinamen und die verschiedenen Konfigurationen angeben können.

Eine angemessene Einführung ist hier: MSBuild

Ich verstehe, warum Sie dies durch eine GUI tun wollen würde, aber IMHO die Flexibilität, die Sie MSBuild erhalten mit lohnt sich der zusätzliche Aufwand es der Einrichtung, die zwar nicht so komplex wie das Schreiben von Grund auf neu in einer anderen Skriptsprache.

+1

Unterstützt das aber den Aufbau von Nicht-.NET-Sprachen? –

+0

Wenn Sie eine weitere Build-Task erstellen (wiederum eine Klasse, die von Task abgeleitet wird und Execute überschreibt), können Sie den Compiler für diese Sprache aufrufen. Dies tun wir für Teile unseres Produkts, die nicht .NET sind, aber auch um Nicht-.NET-Installationspakete zu erstellen. –

+1

Bevor Sie eigene MSBuild-Aufgaben erstellen, würde ich die Suche im Internet empfehlen. Zum Beispiel sind die meisten SVN-Aufgaben, die Sie möglicherweise benötigen, Teil der MSBuild Community Tasks, die Sie hier finden: http://msbuildtasks.tigris.org/ – Pedro

Verwandte Themen