【问题标题】:TF Build 2013 building specific version using changeset, label, buildNumber or buildIdTF Build 2013 使用变更集、标签、buildNumber 或 buildId 构建特定版本
【发布时间】:2017-03-09 04:09:44
【问题描述】:

我在 VS 2013 中创建了两个团队构建 - 开发和测试 - 使用 TfvcTemplate.12.xaml 构建过程模板。两个构建还使用在流程选项卡“构建/项目”参数中定义的自定义 .proj 文件。

Dev 设置为持续集成以在每次签入时进行构建。对于测试版本,我想更新到特定版本。

当手动触发构建时,在参数选项卡中,我已经成功地能够在“获取版本”选项中指定变更集。 (C9999)

1) 我想最终从命令行触发这个构建,那么是否可以将它作为 /msBuildArgument 传递呢?例如/p:GetVersion=C9999

(我已经尝试过了,它成功地将 GetVersion 传递给我的 .proj 文件,但它不会覆盖 iBuildDetail.SourceGetVersion,我认为这是告诉 MSBuild 从源代码管理获取哪个版本所需要的。 )

2) 使用“Label”、“BuildId”或“BuildNumber”会是更好的选择吗?如果是,我可以将它们指定为 /msBuildArguments 吗?

我找到了一些相关的帖子,但这些帖子提供的建议似乎并非针对 2013 年,而是针对 2010 年和 2008 年。

This screenshot shows where I can successfully enter and build a specified changeset and what I'm attempting to pass via arguments.

【问题讨论】:

标签: msbuild tfsbuild


【解决方案1】:

我发现了一些隐藏的文档,这些文档表明要在标签前加上“L”。设置 Get Version = "LlabelName" 就可以了。

https://msdn.microsoft.com/en-us/library/gg490833.aspx#VersionSpecs

这很有帮助,但标签似乎与构建的保留政策相关联。出于这个原因,我将使用变更集来指定我想要获得的版本(构建和部署)。

另外,我找到了几个参数来指定要添加到我从命令行执行的 TFSBuild start 命令的变更集(或标签):

/getOption:Custom /customGetVersion:C9999(或 LlabelName)

【讨论】:

    猜你喜欢
    • 2012-09-19
    • 2015-08-28
    • 2016-01-12
    • 1970-01-01
    • 2014-01-20
    • 2016-12-23
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    相关资源
    最近更新 更多