Добавить в корзинуПозвонить
Найти в Дзене

Azure DevOps YAML pipeline и номер версии (Build.BuildNumber)

Так сказать, простой рецепт этот номер установить (один из вариантов, на самом деле). Итак, берем и указываем переменные: variables: majorVersion: 1 minorVersion: 0 branchTypeVersion: 1 # 0 = production, 1 = development Теперь, небольшой, необязательный, но полезный фокус: revisionVersion: $[counter(format('{0}.{1}.{2}', variables['majorVersion'], variables['minorVersion'], variables['branchTypeVersion']), 1)] Получаем требуемый мне и самостоятельно работающий счетчик. Более подробно - где-то здесь: https://learn.microsoft.com/ru-ru/azure/devops/pipelines/process/expressions?view=azure-devops Теперь - обновим системную переменную $(Build.BuildNumber): - task: PowerShell@2 displayName: 'Установить номер версии для сборки' inputs: targetType: inline script: 'Write-Host "##vso[build.updatebuildnumber]$(majorVersion).$(minorVersion).$(branchTypeVersion).$(revisionVersion)"' Все, далее можно пользоваться $(Build.BuildNumber). Например: - task: DotNetCoreCLI@2 d

Так сказать, простой рецепт этот номер установить (один из вариантов, на самом деле). Итак, берем и указываем переменные:

variables:
majorVersion: 1
minorVersion: 0
branchTypeVersion: 1
# 0 = production, 1 = development

Теперь, небольшой, необязательный, но полезный фокус:

revisionVersion: $[counter(format('{0}.{1}.{2}', variables['majorVersion'], variables['minorVersion'], variables['branchTypeVersion']), 1)]

Получаем требуемый мне и самостоятельно работающий счетчик. Более подробно - где-то здесь: https://learn.microsoft.com/ru-ru/azure/devops/pipelines/process/expressions?view=azure-devops

Теперь - обновим системную переменную $(Build.BuildNumber):

- task: PowerShell@2
displayName: 'Установить номер версии для сборки'
inputs:
targetType: inline
script: 'Write-Host "##vso[build.updatebuildnumber]$(majorVersion).$(minorVersion).$(branchTypeVersion).$(revisionVersion)"'

Все, далее можно пользоваться $(Build.BuildNumber). Например:

- task: DotNetCoreCLI@2
displayName: 'Restore, build, local publish'
inputs:
command: publish
projects: 'Code\*****.Shared.sln'
publishWebProjects: false
arguments: '-c Debug -o $(Build.ArtifactStagingDirectory) -p:Version=$(Build.BuildNumber)'
zipAfterPublish: false