2009-05-21 12 views
5

Um meinen SVN-Stamm sauber und einsatzbereit zu halten, nutze ich the following source control model. Für die Ungeduldigen ist das Grundkonzept, dass Sie Entwicklungszweige erstellen, um eine tatsächliche Entwicklung zu machen und den Stamm jederzeit sauber und einsatzbereit zu lassen (kein Müll im Kofferraum).TeamCity-Projekte und mehrere SVN-Niederlassungen

Zusätzlich konfiguriere ich TeamCity für kontinuierliche Integration. In TeamCity möchte ich sicherstellen, dass alle Entwicklungszweige sowie der einsatzfähige Zweig (in meinem Fall der Stamm) korrekt erstellt werden und alle Komponententests bestehen.

Das ist vielleicht eine blöde Frage, aber nicht zu gut mit TeamCity vertraut, sollte ich für jede Branche ein neues TeamCity-Projekt erstellen? Insbesondere der deployment-fähige Zweig hat einige zusätzliche Regeln als der Entwicklungszweig. Zum Beispiel sollten Releases in versionierten Verzeichnissen im Dateisystem gespeichert werden (zB C: \ Projects \ MyProject \ 1.0.187 ..., C: \ Projects \ MyProject \ 1.0.188 ...), um einen einfachen Zugriff darauf zu ermöglichen die Binärdateien zu jedem Zeitpunkt. Auf der anderen Seite ist das Speichern versionierter Kopien der Assemblies in den Entwicklungszweigen nicht notwendig und würde Festplattenspeicher verschwenden.

Innerhalb von TeamCity würde ich lieber nur ein einziges Projekt für jedes Softwareprojekt sehen. Mit anderen Worten, wenn meine Firma an der X-Anzahl von Entwicklungsprojekten arbeitet, würde ich es vorziehen, dieses Projekt nur einmal aufgelistet zu sehen, nicht X * 2 (vorausgesetzt, dass jedes Projekt nur zwei Zweige hat).

Antwort

6

Sie müssen nur ein einzelnes Projekt erstellen, aber Sie benötigen mehrere Build-Konfigurationen - 1 für jeden Zweig. Soweit ich weiß, können Sie den Namen des Artefaktordners auf der Festplatte nicht anpassen (es handelt sich um eine Autoinkrementierungsnummer). Sie können jedoch alle Artefakte als Zip-Datei in TeamCity 4.5 von der Benutzeroberfläche herunterladen. In TeamCity ist auch ein Scheduler enthalten, mit dem Sie Artefakte aufräumen können, damit sie nicht zu viel Speicherplatz belegen.