TFS。将变量从触发的构建传递到发布中的下一个任务
Posted
技术标签:
【中文标题】TFS。将变量从触发的构建传递到发布中的下一个任务【英文标题】:TFS. Pass variable from triggered build to next task in a release 【发布时间】:2018-06-06 11:01:45 【问题描述】:我想在发布任务之间传递变量。 (从触发构建到脚本)
文件:
Script1:(保存环境变量)
Write-Output ("##vso[task.setvariable variable=MyVar;]$MyVarValue")
Script2:(打印环境变量值)
Write-host $env:MyVar
Script3:(同Script2)
Write-host $env:MyVar
第一种方法:构建
我的构建:
脚本1 脚本2这工作正常,第二个脚本写入第一个创建的 $env:MyVar 的值。
第二种方法:释放 - 我的发布:
脚本1 脚本2也可以正常工作。
当我的版本更改为:
我的发布: Triggered_build (MyBuild) 脚本3在最后一种情况下,Script3 没有打印 $env:MyVar,所以我猜该版本使用的环境与用于触发构建的环境不同?
有没有办法做这样的事情?
【问题讨论】:
您试图从构建传递到发布的信息是什么?可能有更好的方法来实现您想要的结果。 是执行构建时计算的变量,路径 @Ale Xis,感谢您在这里分享您的解决方案,请将您的解决方案标记为答案,以便对其他社区成员有所帮助。 【参考方案1】:没有办法直接用 TFS 做到这一点。
我已阅读有关变量组的信息,但无法使用脚本在执行时动态设置变量。
找到的唯一解决方案是使用插件 Variable (de|re)Hydration Tasks
解决方案来自:Is possible to pass a variable from a Build to a Release in TFS 2017?
【讨论】:
以上是关于TFS。将变量从触发的构建传递到发布中的下一个任务的主要内容,如果未能解决你的问题,请参考以下文章
用于更新文件和签入 TFS 的 Azure DevOps 管道任务
##[错误]错误:超出 GC 开销限制 - TFS 构建中的 SonarQube