Continuous integration 将build.number变量与配置参数连接

Continuous integration 将build.number变量与配置参数连接,continuous-integration,teamcity,Continuous Integration,Teamcity,我有一个构建服务器,由TeamCity实现。 到目前为止,我有一个输入参数,表示版本号(x.y.z)=%version.number%的前3部分 编译exe文件时,我将文件版本设置为: %Version.Number%。%build\u Number%,然后我得到一个由4部分组成的版本号 该解决方案的问题在于,版本号的前3部分与内部版本号之间没有连接 现在,我想找到一种方法,为每个%Version.number%设置一组不同的%build\u number% 我将用一个例子来说明这个问题: 在第

我有一个构建服务器,由TeamCity实现。 到目前为止,我有一个输入参数,表示版本号(x.y.z)=%version.number%的前3部分

编译exe文件时,我将文件版本设置为: %Version.Number%。%build\u Number%,然后我得到一个由4部分组成的版本号

该解决方案的问题在于,版本号的前3部分与内部版本号之间没有连接

现在,我想找到一种方法,为每个%Version.number%设置一组不同的%build\u number%

我将用一个例子来说明这个问题:

在第一次生成时,当%Version.Number%=15.3.2时,版本号将为15.3.2.0

在第二次生成时,当%Version.Number%=15.3.2时,版本号将为15.3.2.1

现在,在新版本上,当%Version.Number%=16.0.0时,版本号将为16.0.0.2 我想成为16.0.0.0


谢谢。

您可以在生成配置的常规设置中重置生成编号计数器。对于您的场景来说,这还不够吗?

至少有两种方法可以解决这个问题:

  • 使用-
    它将允许您随时重置“运行”版本号-
    只要在主版本增加时将下一个版本号设置为“1”
    (作为奖励,它还允许您使用前导零等格式设置版本号)

  • 每当您增加主要版本号时,创建一个新作业-

  • 将生成作业\u 15.3.2复制到生成作业\u 16.0.0
  • 将build_job_16.0.0中的版本号编辑为“16.0.0”
  • 可选:禁用生成作业15.3.2
  • 现在您可以运行build_job_16.0.0,而build编号将以“1”开头
    (这种方法有点乏味,但如果需要,可以继续构建15.3.2版本)


我不希望有人(可能是我:)在每个新的主要版本上点击此链接。此外,我希望能够构建一个旧的主要版本,并将该版本的最后一个版本号加上1。这些方法是否也与Team City build server相关?将回答一个问题:您是否可以向Team City“注入”版本号?(换句话说:如果Team City接受Jenkins提供的一个参数,即版本号,则您可以,但如果Team City正在设置自己的版本号,则这将不起作用)。