2009-06-16 10 views
1

Hier bei der Arbeit verwenden wir Subversion und CruiseControl.NET und als unsere Quellensteuerungs- und CI-Tools. Unsere Subversion Struktur ist Setup wie folgt aus:Subversion- und CI-Build-Prozesse

Project 
    Branch 
    Tag 
     1.0.0.0 
     1.0.0.1 
     1.0.0.2 
    Trunk 

Derzeit sind unsere Verfahren zur Erstellung aufbaut, ist ein Tag aus dem Stamm zu erstellen und einer Laufbatchdatei unsere Lösungen für die Tag-zu bauen. Die Batch-Datei führt auch alle unsere MSTests aus und berechnet unsere Code-Coverage-Ergebnisse.

Ich frage mich, ob dies eine normale Praxis ist oder ob es besser wäre, Formstamm zu erstellen und CI (Hudson oder ähnlich) zu verwenden, um das Tag automatisch zu erstellen?

Antwort

1

Tags sollten billige Kopien des Stamms sein, also was Sie tun, ist in Ordnung, vorausgesetzt, Sie sind glücklich mit der Erstellung eines Tags für potenziell erfolgreiche und nicht erfolgreiche Builds.

Mit dem trunk build then process können Sie es erstellen, so dass es nur ein Tag basierend darauf erstellt, ob der Build erfolgreich ist oder nicht. Dies ist hilfreich, wenn das, was Sie markieren möchten, Release-Builds oder potenzielle Release-Builds sind - Sie wissen, dass es zumindest korrekt erstellt wird und eine Reihe von Tests besteht. Das klingt für mich wie eine bessere Option

Unabhängig davon, welchen Prozess Sie am Ende kleben würde ich auf jeden Fall mit Hudson über Cruise Control betrachten. Sie können einen viel ausgefeilteren Build-Prozess mit build promotion und tagging basierend auf dem Erfolg einrichten. Werfen Sie einen Blick auf die folgenden für Build-Förderung:

http://configmanag.blogspot.com/2008/08/build-promotion-with-hudson.html

und folgende für Tagging erfolgreichen Builds ein Hudson-Plugin:

http://wiki.hudson-ci.org/display/HUDSON/Subversion+Tagging+Plugin

+0

Would hudson Arbeit mit .NET? – chris166