Параметры сборки Azure Dev Ops для определения BuildNumber? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть git-репо с веткой master, из которой мы берем feature\myFeature, работаем, а затем поднимаем запросы на получение обратно до master .. довольно прямо.

КогдаВетвь feature отправляется в репозиторий git, у нас есть процесс сборки, который запускается в этой ветке и производит сборку.Требуется информация semver major.minor.patch из сборки проекта.

Что я хочу сделать, так это изменить (в зависимости от того, включена ли сборка feature или master)построение имени сборки ..

что-то вроде:

  • feature -> 1.0.3-alpha1, 1.0.3-alpha2, 1.0.3-alpha3
  • master -> 1.0.3-rc1, 1.0.3-rc2

проблема, которую я имею сейчас, состоит в том, что число в конце, полученное из использования $ (Rev: r), кажется, не может быть использован в задаче PowerShell, которую я написал, чтобы определить номер сборки ...

Я попытался провести небольшое тестирование по настройке номеров сборок, таких как:

Write-Output ("##vso[task.setvariable variable=ReleaseType]alpha")

, а затем выполнение ...

$(ReleaseType)$(Rev:.r)

, кажется, «привязывает» имя выпуска к любому исходному значению для ReleaseType var ..

я попробовал еще один вариант:

Write-Output ("##vso[build.updatebuildnumber]"-alpha")

, но он просто перезаписывает все, что находится в таблице параметров. Поле формата номера сборки ...

Это то, что я пытаюсьсделать возможно?Я полагаю, альтернативой было бы иметь разные процессы сборки для каждого типа ветки ... кажется, немного OTT ... есть ли способ получить $ (Rev: .r) из PowerShell?

1 Ответ

0 голосов
/ 21 сентября 2018

Мы не можем использовать токен $(Rev:.r) в PowerShell.

Если вы просто хотите изменить структуру имени сборки, например:

  • feature ->1.0.3-alpha1, 1.0.3-alpha2, 1.0.3-alpha3
  • master -> 1.0.3-rc1, 1.0.3-rc2

ТогдаВы можете создать два конвейера сборки CI (один для feature, а другой для master) и установить Build number format прямо так:

  • feature -> 1.0.3-alpha$(rev:.r)
  • master -> 1.0.3-rc$(rev:.r)

Исходя из вашего описания, вы можете использовать информацию semver major.minor.patch из сборки проекта как часть (префикс) номера сборки,В этом случае токен $(rev:.r) не является инкрементным, поскольку префикс всегда изменяется, поэтому значение $(rev:.r) всегда будет 1.Подробности см. В Tokens .

Используйте $ (Rev: .r), чтобы убедиться, что каждая завершенная сборка имеет уникальное имя.Когда сборка завершена, если больше ничего в номере сборки не изменилось, целочисленное значение Rev увеличивается на единицу.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...