【问题标题】:MS Release Management System VariablesMS 发布管理系统变量
【发布时间】:2015-10-15 23:35:53
【问题描述】:

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

很遗憾,没有任何示例可以提供有关如何访问它们的任何指导。 有人有如何在部署模板中引用系统变量的示例吗?

【问题讨论】:

    标签: visual-studio-2015 ms-release-management


    【解决方案1】:

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

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

    【讨论】:

    • 我尝试使用 XCopy Deployer 作为工具构建一个组件,并添加了一个配置变量,我随后在模板中将其设置为 $(BuildNumber)。我得到的令牌是“$(BuildNumber)”。我是否必须在命令的参数中引用系统变量才能获取值?
    • @mcolegro 我更新了我的答案,以便更清楚地了解传递 $(BuildNumber) 值的正确方法。
    • 谢谢。我会试试看。
    • 有趣的是,如果我的构建定义名称包含空格,则 $(BuildNumber) 仅显示第一个单词。 $(buildNumber) 显示第二个单词。我将构建定义名称更改为没有空格。
    【解决方案2】:

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多