Visual Studio Online VSO):无法从构建任务中设置环境变量

时间:2018-02-05 01:16:03

标签: azure-devops

我一直在试图更新任务中的构建任务变量,在Visual Studio Online中的托管代理上运行。

按照:

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

在第一个PS脚本结束时,我尝试将变量保存在env中,以便后续任务从中受益:

Write-Host "##vso[task.setvariable variable=TEST;]$resourceNameTemplate"
Write-Host "Result: $env:TEST"
Write-Host "Result: $env:test"

输出显示它从未设置过。

2018-02-05T00:57:45.7295714Z ##[debug]Processed: ##vso[task.setvariable 
variable=TEST;]MYORG-MYAPP-MYBT-{RESOURCETYPE}
2018-02-05T00:57:45.7302525Z Result: 
2018-02-05T00:57:45.7309594Z Result: 

任何帮助,非常感谢。

1 个答案:

答案 0 :(得分:0)

您的期望错误,只有后续任务才能访问该变量。 The documentation清楚地描述了这一点:

  

在taskcontext的变量服务中设置变量。第一个任务可以设置变量,以下任务可以使用变量。 该变量作为环境变量暴露给以下任务

如果你分手......

Write-Host "##vso[task.setvariable variable=TEST;]$resourceNameTemplate"
Write-Host "Result: $env:TEST"
Write-Host "Result: $env:test"

...跨两个任务,您应该看到TEST已被设置为环境变量。