Azure DevOps:发布版本

8

我将在Azure DevOps中创建我的CI/CD管道,但版本号存在问题。使用此CI/CD构建一个dotnet应用程序和docker镜像,因此我希望docker镜像的发布编号与版本号相同:V1.2.0等。但目前我只有类似于10、11等数字或最新标签!

是否有人可以帮我获得自己的发布版本号?

谢谢


2
https://learn.microsoft.com/en-us/azure/devops/pipelines/release/?view=azure-devops#how-do-i-manage-the-names-for-new-releases - Shayki Abramczyk
您可以使用我们的SaaS解决方案来控制版本 - 无论是semver、calver还是自定义的版本;它可以与任何CI/CD平台集成 - https://worklifenotes.com/2020/02/27/automatic-version-increments-with-reliza-hub-2-strategies/。 - taleodor
2个回答

21
你可以在发布管道 -> 选项 -> 常规 -> 发布名称格式中设置版本号。

enter image description here

$(rev:r)是一个递增变量,因此您可以将其添加到发布版本中。

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

结果:

enter image description here

注意:$(rev:r)从1开始计数(1,2,3...)。
根据您的需求,您正在使用CI和CD过程,似乎需要从0开始计数。您也可以尝试使用$(Build.buildnumber)变量。
以下是步骤:
步骤1:在构建管道(CI)中,设置计数变量(例如BuildRevision:$[counter('',0)])。

enter image description here

步骤2:在构建号中使用变量(构建管道->选项->构建号格式)。

enter image description here

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

enter image description here

结果:

enter image description here

在这种情况下,发布版本可以从v1.2.0开始。
更新:
当我更改发布版本时,例如从V0.0到V1.0,计数器如何重新启动?
您可以尝试以下步骤:
创建2个变量:
1.major-minor = 0.0
2.revision = $[ counter(variables['major-minor'],0) ]
构建号:$(major-minor).$(revision)
在这种情况下,当major-minor更改为V1.0时,计数器将被重置。

enter image description here


谢谢,我所做的是:定义了两个变量:BuildRevision:V0.0和BuildRevisionCounter:$[counter(' ',0)],所以它可以正常工作。我的问题是,当我将发布版本从V0.0更改为V1.0时,计数器如何重新启动? - Meraj Kashi
1
嗨@MerajKashi。请检查更新。当您更改变量时,计数器将重新启动。 - Kevin Lu-MSFT
我希望三年前能够发现这个伟大的想法,那时候我为了将发布号集成到程序集中,不得不为特定的公共DLL创建发布管道。 - Alexander
非常喜欢这个想法! 对于有需要的人:我们本打算使用GitVersion,但是在将其添加到我们的项目后,构建管道不断失败 >> 而管道中的变量却完美运行。 - Azutanguy

1
在这种情况下,您可以使用GitVersion和语义化版本模式。为此,您需要使用此扩展:https://marketplace.visualstudio.com/items?itemName=gittools.gitversion 之后,在编译/构建项目之前添加此步骤:
steps:
 - task: GitVersion@5
   inputs:
      runtime: 'core'

之后你可以使用变量:

$(GitVersion.FullSemVer)

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


嗨,感谢您的评论。由于我们使用Azure Repos,所以这个扩展程序适用于我的情况吗? - Meraj Kashi
我在使用Azure Repos、Pipelines等工具时,它表现良好。 - Bartosz Podlejski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接