Azure DevOps Pipeline — обновление номера сборки

Я уже довольно давно пытаюсь обновить номер сборки в Azure DevOps Pipelines, просматриваю различные вопросы и документацию по стеку и не могу понять, как решить мою проблему.

Номер сборки, который я хотел бы установить, будет: $(year:yy)$(DayOfYear)$(rev:.r).

Очевидно, это работает на конвейерах с использованием графического интерфейса (конвейеры не были созданы мной)

Что я пробовал до сих пор:

- task: UpdateBuildNumber@0
  inputs:
    buildNumber: '$(year:yy)$(DayOfYear)$(rev:.r)'
Write-Host "##vso[build.updatebuildnumber]$(year:yy)$(DayOfYear)$(rev:.r)"

И еще парочка их вариаций. Каждый раз получаю ошибку:

##[error]TF209010: The build number format $(year:yy)$(DayOfYear)$(rev:.r) contains invalid character(s), is too long, or ends with '.'. The maximum length of a build number is 255 characters. Characters which are not allowed include '"', '/', ':', '<', '>', '', '|', '?', '@', and '*'.

Я пробовал создавать переменные для каждой из дат и вместо этого использовать переменные, но это тоже не работает.

Любая помощь будет принята с благодарностью.


27
1

Ответ:

Решено

Это потому, что все эти переменные доступны только в том случае, если вы укажете их в name: в своем YAML, а не в других задачах.

Из документы:

The following table shows how each token is resolved based on the previous example. You can use these tokens only to define a run number; they don't work anywhere else in your pipeline.

Итак, единственный вариант — просто настроить name: $(year:yy)$(DayOfYear)$(rev:.r).