TF Build 2013使用changeset,label,buildNumber或buildId构建特定版本

时间:2017-03-08 16:46:01

标签: msbuild tfsbuild

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

将Dev设置为Continuous Integration以在每次签入时构建。对于测试版本,我想更新到特定版本。

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

1)我想最终从命令行触发此构建,所以是否可以将其作为/ msBuildArgument传递?例如/ p:GetVersion = C9999

(我已经尝试了这个,它成功地将GetVersion传递给我的.proj文件,但是它没有覆盖iBuildDetail.SourceGetVersion,我认为需要告诉MSBuild从源代码获取什么版本控制。)

2)使用"标签"," 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.

1 个答案:

答案 0 :(得分:0)

我发现了一些隐藏的文档,表明标签前面带有" L"。设置获取版本=" LlabelName" 完成了这一操作。

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

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

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

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