Невозможно сослаться на номера сборки артефактов в формате имени выпуска

В моем конвейере выпуска Azure DevOps Release есть три артефакта со следующими псевдонимами источников: _Client, _Database, _WebApp.

_Client - основной артефакт. Я хочу включить номер сборки каждого артефакта в название выпуска.

Я использовал следующее выражение в разделе «Формат названия выпуска» на вкладке «Параметры».

Release-$(rev:r) for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Databaes.BuildNumber), Client Build-$(Release.Artifacts_Client.BuildNumber)

Я ожидал, что он назовет выпуск как «Release-74 для Core Build-29.0.0.69, Db Build-1.0.0.29, Client Build-2.1.0.34».

Вместо этого он называет это как "Release-74 for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Database.BuildNumber), Client Build-$(Release.Artifacts._Client.BuildNumber)"

В журнале задания инициализации артефакты и соответствующие им номера сборки отображаются следующим образом:

[RELEASE_ARTIFACTS__DATABASE_BUILDNUMBER] --> [1.0.0.29]
[RELEASE_ARTIFACTS__CLIENT_BUILDNUMBER] --> [2.1.0.34]
[RELEASE_ARTIFACTS__WEBAPP_BUILDNUMBER] --> [29.0.0.69]
[RELEASE_RELEASENAME] --> [Release-74 for Core Build-29.0.0.69, Db Build-1.0.0.29, Client Build-2.1.0.34]

Это потому, что он не может разрешить номера сборки артефактов при создании конвейера, или, возможно, есть другой способ добиться этого?




Ответы (1)


Такое же поведение в моем выпуске, похоже, что переменная Артефакты получила свое значение только после запуска выпуска, поэтому невозможно указать их в названии выпуска.

В качестве обходного пути вы можете добавить простую задачу командной строки, которая использует команду ведения журнала для обновления имени выпуска:

echo ##vso[release.updatereleasename]Release-$(rev:r) for Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Databaes.BuildNumber), Client Build-$(Release.Artifacts._Client.BuildNumber)

введите здесь описание изображения

person Shayki Abramczyk    schedule 30.10.2019
comment
На данном этапе не удалось разрешить $ (rev: r), но предложение сработало как шарм. Использовал переменную ReleaseBuildNumbers с выражением: Core Build-$(Release.Artifacts._WebApp.BuildNumber), Db Build-$(Release.Artifacts._Databaes.BuildNumber), Client Build-$(Release.Artifacts._Client.BuildNumber). И использовал $(Release.ReleaseName) for $(ReleaseBuildNumbers) для переименования. Спасибо @ shayki-abramczyk - person Sonny N; 31.10.2019