Подтвердить что ты не робот

Jenkins Multibranch pip: Какова переменная имени ветки?

Я новичок в плагине Jenkins Pipeline и особенно новичок в многоплатформенном плагине. В стандартной сборке у меня есть доступ к переменной $GIT_BRANCH, чтобы знать, какая ветка строится. Однако эта переменная не установлена ​​в многоблочном трубопроводе. Я тоже пробовал env.GIT_BRANCH, и я попытался передать $GIT_BRANCH в качестве параметра для сборки. Ничто не работает. Я предположил, что, поскольку сборка знает о построенной ветке (я могу видеть название ветки в верхней части выходного файла консоли, что есть что-то, что я могу использовать, я просто не могу найти ссылку на нее.

Вот пример того, почему это важно. Мы используем шаблон gitflow. У нас есть ветки dev, release и master, которые используются для создания артефактов. Автоматическое развертывание ветки dev, другие два - нет. Также есть функции, исправления ошибок и исправления. Эти ветки должны быть построены, но не создавать артефакт. Они должны просто использоваться для информирования разработчика, если есть проблема с их кодом. Мне нужно знать, какая ветка строится для выполнения правильных шагов.

Любая помощь будет оценена по достоинству.

4b9b3361

Ответ 1

В переменной env.BRANCH_NAME указано имя ветки.

Как Pipeline Groovy Плагин 2.18, вы также можете просто использовать BRANCH_NAME  (env не требуется, но все еще принимается.)

Ответ 2

Для этой цели пока нет выделенной переменной (JENKINS-30252). Тем временем вы можете воспользоваться тем фактом, что имя подпроекта берется из имени ветки и использует

env.JOB_NAME.replaceFirst('.+/', '')

Забастовкa >

Это было разрешено, см. ответ Кшиштофа Красоня.