Azure Release Pipeline - переменная для «запущенного» имени ветви - PullRequest
0 голосов
/ 07 апреля 2020

Так что я некоторое время отработал над мастером и только недавно добавил ветку 'release', над которой я буду работать с этого момента.

В моем Release Pipeline у ​​меня есть скрипт PowerShell, который устанавливает пользовательскую переменную с помощью предопределенных переменных.

$branchName = $Env:BUILD_SOURCEBRANCHNAME
$buildNumber = $Env:BUILD_BUILDNUMBER
$release = $branchName + "." + $buildNumber.ToString()

$pipeline.variables.NameVar.value = $release

Если я добавлю код sh в мою ветку релиза, этот скрипт будет выполняться в конце моего конвейера, и переменная должна быть изменена на release.xxxx, но она будет изменена на master.xxxx.

Существует ли причина, по которой переменная сборки build.sourcebranchname не возвращает имя моей ветки выпуска, а вместо этого возвращает master? Переменная build.buildnumber возвращает правильное значение.

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Попробуйте go до Get sources и проверьте, правильно ли вы выбрали ветку.

enter image description here

Я проверил ваш скрипт и его вернул ожидаемый результат:

enter image description here

0 голосов
/ 08 апреля 2020

Итак, я разобрался в своей проблеме. После добавления новой ветки релиза мне нужно было отредактировать конвейер сборки, чтобы настроить несколько веток. В основном после это делает c от Microsoft.

Добавление release/* в качестве фильтра ветвления позволило конвейеру сборки строить на ветке выпуска, а не только на основной ветке. С этого момента, когда я использовал переменные сборки в моем конвейере выпуска, они все вернули правильное значение.

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