2015-10-01 3 views
11

Ich verwende derzeit Build in Visual Studio Team Services (war Visual Studio Online) und möchte in der Lage sein, eine Build-Variable in einem Build-Schritt festzulegen, sodass der neue Wert in einem nachfolgenden Build-Schritt verwendet werden kann.Kann eine VSTS-Build-Variable in einem Build-Schritt festgelegt werden, damit der Wert in einem nachfolgenden Build-Schritt verwendet werden kann?

Offensichtlich können Sie es festlegen, bevor der Build gestartet wird, aber ich bin zu spät, um die Variable während eines nachfolgenden Build-Schritt zu binden.

Ist das möglich? enter image description here

+1

Haben Sie den Ansatz versucht, [hier beschrieben] (https://github.com/Microsoft/vso-agent-tasks/issues/375)? Sehen Sie die Antwort von @ChrisPatterson –

Antwort

11

Wenn innerhalb eines Skripts können Sie eine Variable aktualisieren die folgenden in Ihrem ps1

"##vso[task.setvariable variable=testvar;]testvalue" 

Sie dann durch Emittieren die Variable in das nächste Skript $(testvar)

+2

Dies funktioniert, wenn Sie keine Aufgabengruppen verwenden. Ich habe ein Problem erstellt, das eine Problemumgehung enthält: https://github.com/Microsoft/vsts-tasks/issues/3116 –

+1

Vereinbart, funktioniert nicht in Aufgabengruppen. –

4

Dieses Dokument aus dem API übergeben können spricht darüber, was ##vso Befehle Sie verwenden können.

Vergessen Sie nicht system.debug auf true zu setzen. Es scheint, dass es einen Fehler gibt, der stdout stummgeschaltet hat und somit alle ##vso nicht funktionieren.

https://github.com/Microsoft/vso-agent-tasks/blob/master/docs/authoring/commands.md

+0

System.debug wird in einer VSTS-Variablen festgelegt, siehe https://docs.microsoft.com/en-us/vsts/build-release/actions/debug-deployment-issues – raterus

Verwandte Themen