Angenommen, Sie haben zwei Entwickler, die lokal an einem Projekt auf ihren Laptops arbeiten (A und B). Sie haben jeweils Arbeitskopien des SVN-Repos, und sie codieren in VS weg. Jeder hat eine voll funktionsfähige Kopie der App. Sie verpflichten sich bei jedem Haltepunkt zu SVN.Wie bewirken Sie einen Build auf einem Integrationsserver?
Sie verfügen über einen Integrations-/Testserver (C) mit einer anderen Arbeitskopie, die aktualisiert wird, wenn Sie sie testen möchten.
Sie auch Produktionsserver (D) aufweisen, die ein Postbuild xcopy von C.
der Code Sagen hat, ist ein Web Application Project, so dass es erfordert eine explizite Build (im Gegensatz zu einer Web-Site gegen Projekt, das nur den Quellcode nimmt und on-the-fly erstellt.
Wie verwalten Sie dies auf dem Integrationsserver (C)?
Wenn die Entwickler auf ihren Maschinen (A und B) bauen, dann drücken Sie die DLLs auf den Integrationsserver (C) ... das wird nicht funktionieren, weil der Integrationsserver Code von beiden nehmen muss Entwickeln Sie eine gemeinsame DLL. Also, der ganze Quellcode muss zum Integrationsserver (C) gehen, dort gebaut werden, und nur die erforderlichen Dateien und DLL zur Produktion geschoben (D).
Wie verwalten Sie den Build auf dem Integrationsserver (C)? Haben Sie eine zeitgesteuerte Erstellung von der Befehlszeile? Installieren Sie VS auf dem Integrationsserver (C) und bauen Sie so auf? Wie verwaltet man die erforderlichen Referenzen und andere Einstellungen, die VS normalerweise in einer CSPRJ- oder einer SLN-Datei verwaltet, wenn dies über die Befehlszeile geschieht?
Danke an alle, die kommentiert haben. Am Ende haben wir CruiseControl eingerichtet, und wir verwenden die CSC-Task in Nant, um direkt von der Befehlszeile auf dem Integrationsserver zu erstellen. Es funktioniert sehr gut und bietet uns den Vorteil eines kontrollierteren und standardmäßigen Builds, den man von einer Reihe von Entwicklern erhält, die ihre lokalen VS-Kopien erstellen. – Deane