2017-02-28 2 views
1

TFS Build ermöglicht die Definition eines Etikettenformats auf der Registerkarte "repository" in der Build-Definition. Ich kann benutzerdefinierte Variablen auf der Registerkarte "Variablen" definieren und sie in der Etikettenformatdefinition verwenden. Aber gibt es eine Möglichkeit, einen Wert einer solchen benutzerdefinierten Variable im Batch-Skript im benutzerdefinierten Build-Schritt zu ändern? Oder vielleicht in einer anderen Art von Build-Schritt? Ich kann einen Wert einer solchen Variablen in einem Batch-Skript abrufen, aber alle Änderungen werden ignoriert (obwohl das Kontrollkästchen "Umgebung ändern" aktiviert ist). Gibt es eine Möglichkeit, einen während eines Build-Prozesses berechneten Wert als Teil eines Etikettenformats zu verwenden?TFS Build 2015 - Verwendung benutzerdefinierter Variablen im Etikettenformat

Vielen Dank im Voraus!

+0

Was bedeutet eine andere Art von Build-Schritt in Ihrer Frage? Kannst du ein Beispiel geben? –

+0

Ich verwende Powershell, um einen Wert der benutzerdefinierten Variable in Powershell zu ändern: Write-Host "## vso [task.setvariable variable = ProductVersionNumber;] $ productVersion". Es funktioniert, aber nur der Anfangswert geht in das Etikett. Es scheint, dass das Format zu Beginn des Builds ausgewertet wird. – xylothek

Antwort

0

Es sollte sein. Es gibt keinen großen Unterschied zwischen der benutzerdefinierten Variablen im Register "Variablen" und der benutzerdefinierten Variablen im Batch-Skript im benutzerdefinierten Build-Schritt.

Bitte beachten Sie jedoch nicht jede benutzerdefinierte Variable kann als Teil eines Etiketts Format verwendet werden. Bitte überprüfen Sie dies.

Einige Buildvariablen könnten einen Wert liefern, der ist, kein gültiges Label. Zum Beispiel können Variablen wie $(Build.RequestedFor) und Build.DefinitionName Leerzeichen enthalten. Wenn der Wert Leerzeichen enthält, wird das Tag nicht erstellt.


Update von OP: Als Abhilfe kann mit build.updatebuildnumber Sie eine Build-Nummer aktualisieren konnten und dann $(build.buildNumber) in Label-Format verwenden.

+1

Die Verwendung einer benutzerdefinierten Variable in label half nicht (der aktualisierte Wert wurde nicht verwendet, nur der anfängliche Wert), aber mit build.updatebuildnumber konnte ich eine Build-Nummer aktualisieren und dann $ (build.buildNumber) im Etikettenformat verwenden. – xylothek

Verwandte Themen