Azure DevOps:发行版

Azure DevOps: release version

我打算在 Azure DevOps 中创建我的 CI/CD 管道,但我对发布版本号有疑问。有了这个 CI/CD 构建的 dotnet 应用程序和创建的 docker 图像,所以我希望 docker 图像版本号与:V1.2.0 和 ..... 但目前我有数字,例如:10、11,...或仅最新标签! 有人可以支持我拥有自己的发布版本号吗? 谢谢

在这种情况下,您可以使用 GitVersion 和语义版本控制模式。 为此,您将需要此扩展名:https://marketplace.visualstudio.com/items?itemName=gittools.gitversion

之后,您在 compiling/build 您的项目之前添加步骤:

steps:
 - task: GitVersion@5
   inputs:
      runtime: 'core'

之后你可以使用变量:

$(GitVersion.FullSemVer)

该变量将存储当前构建版本 - 它基于 git。

您可以在 Release Pipelines -> Options -> General -> Release name format.

中设置发布版本号

$(rev:r)是递增变量。所以你可以在发布版本中添加它。

例如:V1.2.$(rev:r)

结果:

注意:$(rev:r) 从 1 (1,2,3...) 开始计数。

根据您的要求,您正在使用 CI 和 CD 过程,似乎您需要从 0 开始计数。您也可以尝试使用 $(Build.buildnumber) 变量。

步骤如下:

第一步:在 Build Pipeline(CI) 中,设置计数变量(例如 BuildRevision :$[counter( ' ',0)])。

第二步:使用Build number中的变量(Build Pipeline->Options ->Build number format)

第 3 步:将构建工件设置为发布源。在发布管道版本中使用 $(Build.buildnumber)。

结果:

这种情况下,release版本可以从v1.2.0开始。

更新:

when I change the release version for example from V0.0 to V1.0 , how the counter restarted ?

您可以尝试以下步骤:

创建 2 个变量:

1.major-minor = 0.0

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

内部版本号:$(major-minor).$(revision)

在这种情况下,当major-minor更改为V1.0时,计数器将重置。