【问题标题】:Visual Studio Team Foundation Server 2015 release configuration variables not settingVisual Studio Team Foundation Server 2015 发布配置变量未设置
【发布时间】:2018-03-17 15:11:34
【问题描述】:

在我的 powershell 步骤中考虑以下内容:

-source "c:\builds\$(Build.BuildNumber).zip"

结果是“c:\builds\20171005.1.zip”

如果我尝试在我的发布变量的配置选项卡中设置以下内容,如下所示 名称=MyBuildNumber 值=$(Build.BuildNumber)

如果我改变我的 poweshell 看起来像这样

-source "c:\builds\$(MyBuildNumber).zip"

结果是“c:\builds\$(Build.BuildNumber).zip”

我在这里做错了什么?我尝试了几种不同风格的存储变量,它们都具有相同的效果。真的可以使用一些建议。

---------根据 ANDY-MSFT---- 我可以确认我使用的是版本 14.102.25423.0。我安装了变量扩展包..没有区别。日志显示文字输出。我很确定我使用的设置与您完全相同。请检查我的定义变量和 powershell 语法的屏幕截图。

【问题讨论】:

  • 您提到您已经添加了我的 VSTS 变量任务,但是您是否在访问变量之前将展开变量任务添加到您的工作流中?您需要在每个阶段添加此内容,如果您使用多个代理,则需要将扩展​​任务添加到每个代理范围。
  • 我能够通过将扩展变量任务添加到我的工作流程来解决我的问题。我不明白这个扩展是如何工作的。对于挂断电话的其他人...下载并安装扩展程序。安装后转到您的构建或发布定义并将扩展变量任务添加到您的工作流程。之后工作。

标签: powershell tfs release-management


【解决方案1】:

TFS 2015 的确切版本是什么?您使用的是哪个版本?

我在 TFS 2015 Update4(Version 14.114.26403.0Agent.Version:1.95.4)上进行了测试,一切正常。

所以,请检查What version of Team Foundation Server do you have,如果您使用的是旧版本,可以尝试升级到Update4或更高版本,然后再试一次。

此外,如果您仍想保留当前版本,可以使用 VSTS 变量任务扩展:Variable Toolbox 来扩展构建/发布变量。 (以及源代码here供大家参考。)

当您在“变量”屏幕中定义一个变量并使用其他变量作为值时,它们不会被扩展(正如您所预料的那样)。而是将文字文​​本传递给工作流中的任务。如果没有这个小任务,以下配置将无法工作:

Variable              Value
Build.DropLocation    \\share\drops\$(Build.DefinitionName)\$(Build.BuildNumber)

通过将 Expand variable(s) 任务添加到工作流的顶部,它会负责扩展,因此它下面的任何任务都会收到您所追求的值。

PS:新代理(2.x 版)现在会自动扩展变量。

还有这个类似的线程供您参考: TFS 2015 Can build variables access other build variables?


更新:

根据您的 TFS 版本,它应该是 TFS 2015 update3(如果可以选择升级到 Update4 或更高版本,也可以相应地升级构建代理)。检查代理版本:进入管理服务器(齿轮图标)>>代理池>>选择一个池>>选择一个代理>>切换到功能,您将在该页面中看到代理版本。

【讨论】:

  • 我在上面更新了我的问题。仍然无法让它工作。不确定如何检查代理版本。
  • @macm 根据您的 TFS 版本,它应该是 TFS 2015 update3。要检查代理版本:转到 Manager Server(齿轮图标)>> AgentPool >> 选择一个池 >> 选择一个代理 >> 切换到 Capabilities,您将在该页面中看到代理版本。
  • +1 用于提及我的 VSTS 变量任务;)。 2015 代理有一些问题尚未修复,这涉及任务中的变量设置,因此您可能会被此咬伤:github.com/Microsoft/vsts-agent/issues/177
  • 升级到 Update 4 并切换到 2.x 代理可能是个好主意(鉴于仅支持最新的更新版本),另外,是时候开始考虑升级到 2017 或2018 年活动(似乎正在发布)。
  • 哦,伙计...我完全完全错过了将扩展变量任务添加到我的工作流程的过程。我想我只是在我需要添加扩展的印象下,它只会在幕后运行。我不知道为了使用扩展,我需要将它添加到工作流中。谢谢你们的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-17
  • 2015-05-01
  • 1970-01-01
相关资源
最近更新 更多