TFS构建特定的变更集并使用变更集编号进行部署

时间:2011-11-03 16:02:00

标签: tfs msbuild tfs2010 tfsbuild changeset

我有一个构建定义来在我的TFS上构建解决方案。 这很好用,但它总是构建最新版本。

  1. 如何强制建立过去的特定变更集?

  2. 如何使用/将此号码传递给“MSBuild Arguments”以在其中进行部署?

3 个答案:

答案 0 :(得分:28)

从Team Explorer排队构建时,在Parameters选项卡中,其中一个Advanced参数是get version。

注意:我认为您需要在表格C123中指定,其中123是变更集编号。

答案 1 :(得分:10)

第一个问题的答案显然是@Dylan所说的。

到你的第二部分:
重要的论点是GetVersion。 导航到构建过程模板中的“为项目运行MSBuild”活动,默认情况下,其值CommandLineArguments等于

String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)

您可以将其更改为

String.Format("/p:SkipInvalidConfigurations=true {0} /p:DeployIisAppPath=/changeset/{1}", MSBuildArguments, GetVersion)

然后到达你需要去的地方。

答案 2 :(得分:0)

如果您使用变更集编号,那么它只对CI构建有意义,因为它们通常构建一个变更集。

对于任何其他类型的构建,我建议使用唯一的构建ID,并涵盖构建多个变更集的构建案例。