我正在开发一个通过 TFS 服务器编译的项目。内部版本号格式(在构建设置的进程选项卡中)定义为$(BuildDefinitionName)_$(BuildID)
. 我不知道是如何$(BuildID)
增加的。如果我在同一小时内排队,比如说两个构建,它通常会增加一个,但并非总是如此。
如果距离上次构建已经过去了大约一周,它可能会增加 20 或 40。我还没有想出任何模式。
但我真正的问题是:我怎样才能让它在每次构建时增加一。
我正在开发一个通过 TFS 服务器编译的项目。内部版本号格式(在构建设置的进程选项卡中)定义为$(BuildDefinitionName)_$(BuildID)
. 我不知道是如何$(BuildID)
增加的。如果我在同一小时内排队,比如说两个构建,它通常会增加一个,但并非总是如此。
如果距离上次构建已经过去了大约一周,它可能会增加 20 或 40。我还没有想出任何模式。
但我真正的问题是:我怎样才能让它在每次构建时增加一。
$(BuildID) 用于整个团队项目集合。我假设您的收藏中有多个团队项目。
因此,每个触发的构建都会将此 ID 加一(它基本上是 TFS DB 中相应构建的主键)。
我怀疑您的内部版本号每次构建都会增加 1,但您只是在查看自己的构建列表。其他人正在触发构建(可能包括构建服务器,如果启用了 CI),并且计数仅按构建定义分开,而不是按用户分开。
这就是为什么更长的延迟会导致更大的增量:如果您等待一周,其他签入/开发人员已经运行了更多构建。
如果您查看所有构建的列表,而不是屏幕截图中的“我的构建”,您可能会看到一个每次递增 1 的数字。
您不能像您希望的那样简单地更改它,因为如果您将数字设为“每个用户”,您最终会得到具有相同 ID 的多个构建。可以覆盖构建脚本中创建构建号的部分以包含您的用户名和一个数字 - 这意味着您的构建 ID 每次都会增加 1,但每个用户都有不同的构建名称。(你会有构建DEV_JOHN_123
/DEV_BOB_123
而不仅仅是DEV_123
/ DEV_124
)。
您应该使用$(Rev)脚本来增加一个数字。$(Rev)只能用于构建名称字符串的末尾。
例如。$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r) 内部版本号格式将在同一天生成三个连续签入(如果您设置了持续集成):
如您所见,最后一部分在每次签到时自动递增。