【发布时间】:2014-08-17 22:31:00
【问题描述】:
我正在使用 TFS 2012 和 OOTB 默认构建模板。我有一个使用默认内部版本号格式的构建定义:
$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)
出于某种原因,TFS 生成的 revision 数字非常非常大。例如,最后一个版本是 PrintOps-Main_20140626.124829。
我的其他构建定义中只有一个会生成具有如此高修订号的构建。另一个构建是相同解决方案的 CI 构建。这让我相信项目文件中有一些东西用一些自定义逻辑覆盖了 TFS 内部版本号。但我不知道这是否可能。所有其他构建定义的修订号从 1 开始,如果每天运行多次构建,则修订号增加 1。这些构建定义也以 1 递增,但它们从 1248xx 开始。
作为故障排除,我尝试了不同的流程模板并修改了内部版本号格式。除了 $(Rev:.r) 部分外,一切都按预期工作。一旦我将修订部分引入构建格式,我就会得到一个非常大的数字。
我的怀疑是否正确,它必须是项目文件中的某种覆盖?如果是这样,关于寻找什么的任何建议?此解决方案中有几个 (15+) 项目,因此欢迎提出任何建议。
【问题讨论】:
-
不,这是不可能的。内部版本号是 TFS 数据库中每个定义的存储。 TFS 选择自定义命名以来的最后一个构建,并将递增一。如果它(曾经)手动设置为更高的数字,它将选择并从那里增加:stackoverflow.com/a/5901367/736079
-
感谢您的快速回复。我相信你是对的,但这似乎不是我的情况。我尝试按照您的链接答案中所示设置修订版(通过在内部版本号格式中硬编码 1),这适用于下一个版本。我虽然很棒,它现在重置为 1,所以如果我回到默认的构建格式,我应该得到 2 的修订号,但唉,它是 124831。