Получить имя ветки git с помощью подключаемого модуля git на jenkins slave
Я делаю интеграцию сонара и хотел бы передать git branch в качестве параметра. Он будет запущен на сервере Jenkins.
Прежде чем я использовал следующую строку кода для получения текущей ветки git:
def workingBranch = """git rev-parse --abbrev-ref HEAD""".execute().text.trim()
После того, как я заменил его на:
grgit.branch.current.fullName
Но это всегда дает мне "ГОЛОВУ". Как добиться такой же функциональности?
0 ответов
Я делаю нечто очень похожее. Как оказалось, плагин Git в Jenkins настроен несколькими способами, чтобы минимизировать клонирование git и оформление заказа. Я нашел два способа справиться с этим.
Легкий путь
Используйте встроенные переменные среды Jenkins, как вы уже предлагали в комментариях.
def workingBranch = System.getenv ("GIT_BRANCH")?: grgit.branch.current.fullName
Способ конфигурации задания
Вы также можете настроить задание для извлечения ветки как локальной, а не отдельной HEAD. Это находится в разделе "Дополнительные поведения" с названием "Выписка в конкретное местное отделение". Есть много других вопросов, которые подробно описывают настройки для этого и / или подход Declarative Pipeline, в зависимости от ваших потребностей.