TFS-Build: Geben Sie den Zweignamen in das Feld "Build-Nummer" der Assemblys ein

8

Ich möchte in der Lage sein, eine Baugruppe zu betrachten und schnell zu erkennen, aus welchem ​​Zweig sie aufgebaut ist.

Was ist der beste Weg, TFS Build zu erstellen, um den Namen der aktuellen Verzweigung in das Feld Build Number (oder ein geeigneteres Feld) der erstellten Assembly aufzunehmen?

    
Robert Levy 20.01.2011, 00:47
quelle

2 Antworten

4

Sehen Sie sich die Version Task in Ссылка

an

Damit können Sie die assemblyinfo.cs beim Build aktualisieren.

Das lässt immer noch das "wie", um den Zweig zu identifizieren ...

Auf die Gefahr einer religiösen Debatte über die Versionsnummerierung können Sie einen Teil des major.minor.build.revision-Teils der Zweigstelle widmen. Zum Beispiel folgt major.minor nur Ihrer "äußeren / kommerziellen" Versionsnummer, Build ist das Build-Nummer-Formular TFS und Revision 1 zeigt Ihren Hauptzweig an, Revision 2 zeigt einen bestimmten Zweig an. Sie können auch eines der anderen Assemblyversionsattribute wie AssemblyInformationalAttribute verwenden, um eine Verzweigungs-ID darin zu speichern.

Ich bin nicht auf dem neuesten Stand, wie Sie den Zweig erkennen können, in dem Sie sich gerade befinden, aber im schlimmsten Fall geht es nur darum, das aktuelle Verzeichnis abzurufen und eine Logik anzuwenden, um den Zweignamen abzuleiten. Die Ausgabe einer tf-Verzweigung. Der Befehl sollte Ihnen auch den Zweignamen für einen aktuellen Arbeitsbereich geben, aber Sie benötigen eine benutzerdefinierte Aufgabe, um nur die erste Zeile zu extrahieren.

Keine Plug-and-Play-Antwort, aber es könnte Sie in die richtige Richtung bringen.

    
rene 27.01.2011, 10:04
quelle
0

Die Version ist einfach in Bezug auf das Abrufen und Aktualisieren der verschiedenen AssemblyInfo.cs-Dateien.

Ich würde Ihre TFS-Struktur ähnlich wie die Subversion-Konventionen organisieren, also haben Sie einen Stamm-, Tag- und Zweigordner.

Durch konsistente Benennung können Sie sicherstellen, dass Ihre spezifische MSBuild-Datei immer eine bestimmte Anzahl von Verzeichnissen ist, die entweder vom Stamm eines bestimmten Zweignamens abstammen.

Verfügen Sie über eine benutzerdefinierte MSBuild-Aufgabe, die dies erledigt (indem Sie in der TFS-Ordnerhierarchie navigieren), und führen Sie diese in Ihre Eigenschaft ein, die zum Aktualisieren von AssemblyInformationalAttribute verwendet wird. Sie können die Aufgabe FileUpdate von Ссылка verwenden, um eine Regex-Ersetzung für Ihre AssemblyInfo.cs-Dateien durchzuführen.

    
Wim Hollebrandse 28.01.2011 19:19
quelle