web-dev-qa-db-ja.com

ビルドステップでVSTSビルド変数を設定して、その値を後続のビルドステップで使用できるようにすることは可能ですか?

現在、Visual Studio Team Services(Visual Studio Online)でビルドを使用していますが、ビルドステップでビルド変数を設定して、後続のビルドステップで新しい値を使用できるようにしたいと考えています。

明らかに、ビルドを開始する前に設定できますが、後続のビルドステップで変数をレイトバインドすることを検討しています。

これは可能ですか? enter image description here

24
Simian

スクリプト内で、ps1で次を発行することにより変数を更新できます。

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

その後、$(testvar)を使用して変数を次のスクリプトに渡すことができます

APIのこのドキュメントでは、使用できる##vsoコマンドについて説明しています。

system.debugtrueに設定することを忘れないでください。ミュートされたstdoutのバグがあるため、すべての##vsoが機能していないようです。

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

6
Compulim

PowerShellスクリプトを作成し、ビルドタスクとして参照することができます。次に、PowerShellスクリプト内にこれを追加します。

"##vso[task.setvariable variable=key]value"

その後、すべてのタスクで変数を$(key)として読み取ることができます。変数を保護する場合は、次を使用します。

"##vso[task.setvariable variable=secretVar;issecret=true]value"

そして、次のタスクで$(secretVar)として使用します。

1
Rodrigo Werlang