TFS。将变量从触发构建传递到发布中的下一个任务
TFS. Pass variable from triggered build to next task in a release
我想在发布任务之间传递变量。 (从触发构建到脚本)
文件:
Script1: (保存一个环境变量)
Write-Output ("##vso[task.setvariable variable=MyVar;]$MyVarValue")
Script2:(打印环境变量值)
Write-host $env:MyVar
脚本 3:(与脚本 2 相同)
Write-host $env:MyVar
第一种方法:构建
MyBuild:
- 脚本 1
- 脚本 2
这工作正常,第二个脚本写入第一个创建的 $env:MyVar 的值。
第二种方法:发布
- 我的发布:
- 脚本 1
- 脚本 2
也能正常工作。
当我的版本更改为:
时,我的问题就来了
- 我的发布:
- Triggered_build (MyBuild)
- 脚本 3
在最后一种情况下,Script3 没有打印 $env:MyVar,所以我猜该版本使用的环境与用于触发构建的环境不同?
有没有办法做类似的事情?
无法直接使用 TFS 执行此操作。
我已阅读有关变量组的内容,但无法在执行时使用脚本动态设置变量。
找到的唯一解决方案是使用插件 Variable (de|re)Hydration Tasks
解决方案来自:
我想在发布任务之间传递变量。 (从触发构建到脚本)
文件:
Script1: (保存一个环境变量)
Write-Output ("##vso[task.setvariable variable=MyVar;]$MyVarValue")
Script2:(打印环境变量值)
Write-host $env:MyVar
脚本 3:(与脚本 2 相同)
Write-host $env:MyVar
第一种方法:构建
MyBuild:
- 脚本 1
- 脚本 2
这工作正常,第二个脚本写入第一个创建的 $env:MyVar 的值。
第二种方法:发布 - 我的发布:
- 脚本 1
- 脚本 2
也能正常工作。
当我的版本更改为:
时,我的问题就来了- 我的发布:
- Triggered_build (MyBuild)
- 脚本 3
在最后一种情况下,Script3 没有打印 $env:MyVar,所以我猜该版本使用的环境与用于触发构建的环境不同?
有没有办法做类似的事情?
无法直接使用 TFS 执行此操作。
我已阅读有关变量组的内容,但无法在执行时使用脚本动态设置变量。
找到的唯一解决方案是使用插件 Variable (de|re)Hydration Tasks
解决方案来自: