我一直在试图更新任务中的构建任务变量,在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:
任何帮助,非常感谢。
答案 0 :(得分:0)
您的期望错误,只有后续任务才能访问该变量。 The documentation清楚地描述了这一点:
在taskcontext的变量服务中设置变量。第一个任务可以设置变量,以下任务可以使用变量。 该变量作为环境变量暴露给以下任务。
如果你分手......
Write-Host "##vso[task.setvariable variable=TEST;]$resourceNameTemplate"
Write-Host "Result: $env:TEST"
Write-Host "Result: $env:test"
...跨两个任务,您应该看到TEST
已被设置为环境变量。