可以在 TFS 2017 中执行发布期间更改变量的值

Posted

技术标签:

【中文标题】可以在 TFS 2017 中执行发布期间更改变量的值【英文标题】:Is possible to change the value of a variable during execution of a release in TFS 2017 【发布时间】:2017-04-27 17:37:31 【问题描述】:

在 TFS 2017 中,创建发布定义时,也可以创建一组自定义变量。

在Agent的范围内,是否可以改变一个变量的值?

我尝试使用内联 powershell 脚本:

$env:MyVariable = "changed value"

也可以试试:

[Environment]::SetEnvironmentVariable("MyVariable ", "changed value.", "User")

没有成功。

【问题讨论】:

【参考方案1】:

您可以使用Logging command 更改自定义变量的值。

在您的 PowerShell 脚本文件 (script1.ps1) 中,写入:

$NewVersion = "NewValue"
Write-Host ("##vso[task.setvariable variable=customVariable;]$NewVersion")  

然后添加一个 Powershell 脚本来运行这个文件。

您可以添加另一个 Powershell 脚本文件 (script2.ps1) 来输出自定义值。在 script1 之后运行此文件,检查值是否已成功更改。

这是一个类似的问题:How to change a tfs build variable in script

【讨论】:

【参考方案2】:

您尝试过 Write-Host 吗?

写入主机 $env:OutputVar

现在无法检查自己,但您可以查看here 了解详情。

【讨论】:

以上是关于可以在 TFS 2017 中执行发布期间更改变量的值的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 TFS 2017 Build 定义中链接变量组?

TFS Azure 2017 工作项更改事件处理程序 - 分支关系

TFS 2017 API;使用变量排队构建

可以在 TFS 中为 BoardColumn 添加一个下拉框吗?

如何在 TFS 2017u2 构建和发布任务中使用变量指定安全文件输入值

TFS 2017 - 从 TFS 服务器而不是代理运行 powershell 脚本