2017-10-05 108 views
0

考虑我的PowerShell的步骤如下:的Visual Studio Team Foundation Server的2015年版本的配置变量不设置

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

结果是 “c:\建立\ 20171005.1.zip”

如果我尝试集在(Build.BuildNumber)

这样 名称= MyBuildNumber值= $释放我释放变量的配置标签如果我改变我的poweshell看起来像这样

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

结果为 “C:\建立\ $(Build.BuildNumber).ZIP”

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

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

+0

你提到你已经添加了我的VSTS可变任务,但是你访问变量之前添加的扩展变量任务,您的工作流程?您需要在每个阶段添加此功能,并且如果您使用多个代理,则需要将扩展​​任务添加到每个代理范围。 – jessehouwing

+1

我能够通过将展开变量任务添加到我的工作流程来解决我的问题。我不明白这个扩展是如何工作的。对于任何被挂断的人... 下载并安装扩展。 一旦安装了您的构建或发布定义并将扩展变量任务添加到您的工作流程中。 之后的作品。 – macm

回答

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) 

通过添加扩展变量(一个或多个)任务对您工作的顶部,很会照顾的扩张,所以它下面的任何任务将获得你所追求的价值。

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

,谨供参考这个类似的线程: TFS 2015 Can build variables access other build variables?


UPDATE:

根据您的TFS的版本,它应该是TFS 2015年UPDATE3(可以升级到UPDATE4或更高版本如果这是一个选项,请相应地升级构建代理)。检查代理版本:Go Manager服务器(齿轮图标)>> AgentPool >>选择一个池>>选择代理>>切换到功能,您将在该页面看到代理版本。

enter image description here

+0

我更新了我上面的问题。仍然无法让它工作。不确定如何检查代理版本。 – macm

+0

@macm根据你的TFS版本,它应该是TFS 2015 update3。检查代理版本:Go Manager服务器(齿轮图标)>> AgentPool >>选择一个池>>选择代理>>切换到功能,您将在该页面看到代理版本。 –

+0

+1提及我的VSTS变量任务;)。 2015年的代理商有几个问题尚未解决,这涉及到任务的可变设置,因此您可能会被这个问题困扰:https://github.com/Microsoft/vsts-agent/issues/177 – jessehouwing

相关问题