I'm currently using Build in Visual Studio Team Services (was Visual Studio Online), and would like to be able to set a Build Variable in a Build Step so that the new value can be used in a subsequent Build Step.
Obviously you can set it before the Build starts but I'm looking to late bind the variable during a subsequent Build Step.
When inside of a script you can update a variable by emitting the following in your ps1
You can then pass the variable into the next script using
$(testvar)
This doc from the API talks about what
##vso
commands you can use.Don't forget to set
system.debug
totrue
. It seems there is a bug that mutedstdout
and thus, all##vso
are not working.https://github.com/Microsoft/vso-agent-tasks/blob/master/docs/authoring/commands.md
You can create a powershell script an reference it as a build task. Then inside your powershell scripts add this:
After that on all your tasks you can read the variable as $(key). If you want to protect your variable, use:
And then use it as $(secretVar) in your next tasks.