Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Azure DevOps: release version

I am going to create my CI/CD pipeline in Azure DevOps, but I have a problem with release version number. with this CI/CD a dotnet app build and a docker image created, so I want to have docker image release number same as : V1.2.0 and ..... but currently I have number for example: 10, 11, ... or only the latest tag! Can anybody support me to have my own release version number ? Thanks

like image 786
Meraj Kashi Avatar asked Dec 11 '22 00:12

Meraj Kashi


1 Answers

You could set the release version number in Release Pipelines -> Options -> General -> Release name format.

enter image description here

The $(rev:r) is an incrementing variable. So you could add it in the Release version.

For example: V1.2.$(rev:r)

Result:

enter image description here

Note: the $(rev:r) counts from 1 (1,2,3...).

From your requirement, you are using CI and CD process and it seems that you need to count from 0. You also could try to use the $(Build.buildnumber) variable.

Here are the steps:

Step1: In Build Pipeline(CI) , set the count variable(e.g. BuildRevision :$[counter( ' ',0)]).

enter image description here

Step2: Use the variable in Build number (Build Pipeline->Options ->Build number format).

enter image description here

Step3: Set the build artifacts as the release source. Use the $(Build.buildnumber) in release pipeline version.

enter image description here

Result:

enter image description here

In this situation, the release version could start from v1.2.0.

Update:

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

You could try the following steps:

Create 2 variables:

1.major-minor = 0.0

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

The build number: $(major-minor).$(revision)

In this case, when the major-minor change as V1.0, the counter will reset.

enter image description here

like image 195
Kevin Lu-MSFT Avatar answered Dec 12 '22 22:12

Kevin Lu-MSFT