Ответ 1
В переменной env.BRANCH_NAME
указано имя ветки.
Как Pipeline Groovy Плагин 2.18, вы также можете просто использовать BRANCH_NAME
(env
не требуется, но все еще принимается.)
Я новичок в плагине Jenkins Pipeline и особенно новичок в многоплатформенном плагине. В стандартной сборке у меня есть доступ к переменной $GIT_BRANCH, чтобы знать, какая ветка строится. Однако эта переменная не установлена в многоблочном трубопроводе. Я тоже пробовал env.GIT_BRANCH, и я попытался передать $GIT_BRANCH в качестве параметра для сборки. Ничто не работает. Я предположил, что, поскольку сборка знает о построенной ветке (я могу видеть название ветки в верхней части выходного файла консоли, что есть что-то, что я могу использовать, я просто не могу найти ссылку на нее.
Вот пример того, почему это важно. Мы используем шаблон gitflow. У нас есть ветки dev, release и master, которые используются для создания артефактов. Автоматическое развертывание ветки dev, другие два - нет. Также есть функции, исправления ошибок и исправления. Эти ветки должны быть построены, но не создавать артефакт. Они должны просто использоваться для информирования разработчика, если есть проблема с их кодом. Мне нужно знать, какая ветка строится для выполнения правильных шагов.
Любая помощь будет оценена по достоинству.
В переменной env.BRANCH_NAME
указано имя ветки.
Как Pipeline Groovy Плагин 2.18, вы также можете просто использовать BRANCH_NAME
(env
не требуется, но все еще принимается.)
Для этой цели пока нет выделенной переменной (JENKINS-30252). Тем временем вы можете воспользоваться тем фактом, что имя подпроекта берется из имени ветки и использует
env.JOB_NAME.replaceFirst('.+/', '')
Забастовкa >
Это было разрешено, см. ответ Кшиштофа Красоня.
Я нашел этот пример примера stackoverflow полезным: Git Переменные в плагине рабочего процесса Jenkins
sh '//...
git rev-parse --abbrev-ref HEAD > GIT_BRANCH'
git_branch = readFile('GIT_BRANCH').trim()
echo git_branch
//...
'