如何使用Azure DevOps控制内部版本号?

时间:2019-11-03 09:59:59

标签: azure-devops azure-pipelines devops

我对Azure DevOps感到非常沮丧。在我的内部版本号格式中,我希望同时拥有

  • 当我更新主要版本和次要版本时,该数字会重新开始为0。
  • 但是我也想拥有一个真实的内部版本号,无论我的内部版本号格式如何,都不会重置。该内部版本号也可以由我的项目的所有构建管道共享。有可能吗?

我没有使用YAML格式。我在选项页面上使用经典界面来设置构建格式。目前,我有这个:

enter image description here

除了每个月r号码重新从0开始,它都起作用。我希望它继续。

编辑

enter image description here

我仍然没有决定我的最终格式。我想了解所有可能性。现在,我发现$(BuildID)属性有另一个问题。是否有可能类似于$(Rev:r)变量,但仅检查我的内部版本号的左侧部分。

示例:

4.16.$(SequenceFor[4.16]).$(BuildID)

实际上,我想手动设置主要版本和次要版本,并让系统逐一更新Build,然后将修订版本用于全局$(BuildID)

1 个答案:

答案 0 :(得分:0)

内部版本号在任何字符中发生更改时,$(rev:r)都会重新启动,因此这就是每次主要/次要或状态更改时都重新启动的原因。

因此,如果要使用递增的唯一编号,则不能使用$(rev:r),因为它将在每次构建时重新启动。

如果您想要一个取决于主要和次要数字的数字,则需要使用counter expression

创建2个变量:

  1. major-minor = 4.16

还有一个取决于他的值并且也是一个计数器的变量:

  1. revision = $[ counter(variables['major-minor'],0) ]

enter image description here

内部版本号为:

$(major-minor).$(revision).$(Build.BuildId)

现在,如果您将major-minor(更改为4.175.16),revision将再次为0