2015-10-15 70 views
3

我正在使用Release Management 2015并进行代理部署。我想访问TFS内部版本号,并将其用作我部署的一部分。 RM文档说,从RM 2013 U4开始,系统变量可供使用。文档意味着它们可用于任何类型的部署,但是,我已经读过它们仅适用于vNext(无代理)部署。MS发布管理系统变量

不幸的是,没有例子给出如何访问它们的指导。 有没有人有一个如何在部署模板中引用系统变量的例子?

回答

2

可以通过引用它作为$(BuildNumber)访问内部版本号在组件在基于代理的发布模板。您必须将$(BuildNumber)作为参数传递给组件,这意味着定义__Build Number__参数并将该值传入。自然,您还必须使用与TFS构建定义绑定的发布模板。

版本管理中用户可定义的系统变量用于vNext版本,而不是基于代理的版本。

+0

我尝试使用_XCopy Deployer_作为工具构造一个组件,并添加一个配置变量,随后我将其设置为$ (BuildNumber)在模板中。我得到的令牌是“$(BuildNumber)”。我是否必须在命令的参数中引用系统变量才能获取值? – mcolegro

+0

@mcolegro我更新了我的答案,以便更清楚地了解传递'$(BuildNumber)'值的正确方法。 –

+0

谢谢。我会试一试。 – mcolegro

0

在您的vNext发行模板中添加使用PS/DSC操作的部署;设置此操作以执行PowerShell脚本。 在该脚本可以访问几乎所有的系统变量:

Write-Verbose "BuildNumber = $($BuildNumber)" -Verbose 
+0

谢谢,但我没有使用vNext模板。这将与代理部署一起工作吗? – mcolegro

+0

MSDN指出系统和配置变量仅适用于vNext模板:https://msdn.microsoft.com/en-us/library/dn834972(v=vs.120).aspx。如上所述(http://stackoverflow.com/a/28681188/1225429)您可以使用$(PackageLocation) – ds19