TFS。将变量从触发构建传递到发布中的下一个任务

时间:2018-06-06 11:01:46

标签: tfs azure-devops tfsbuild release-management

我想在发布任务之间传递变量。 (从触发构建到脚本)

文件:

Script1 :(保存env变量)

Write-Output ("##vso[task.setvariable variable=MyVar;]$MyVarValue")

Script2 :(打印env变量值)

Write-host $env:MyVar

Script3 :(与Script2相同)

Write-host $env:MyVar

第一种方法:构建

  • MyBuild:

    • SCRIPT1
    • SCRIPT2

这是正常工作,第二个脚本写入$ env:MyVar在第一个中创建的值。

第二种方法:发布   - MyRelease:

  • SCRIPT1
  • SCRIPT2

也正常工作。

我的问题发生在我的发布更改为:

  • MyRelease:
    • Triggered_build(MyBuild)
    • Script3

在最后一种情况下,Script3不打印$ env:MyVar,所以我想该版本使用的环境与触发的构建使用的环境不同?

有没有办法做类似的事情?

1 个答案:

答案 0 :(得分:0)

无法直接使用TFS。

我已阅读有关变量组的内容,但无法使用脚本在执行时动态设置变量。

找到的唯一解决方案是使用插件变量(de | re)水化任务

解决方案来自:Is possible to pass a variable from a Build to a Release in TFS 2017?