Получить имя ветки 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 и оформление заказа. Я нашел два способа справиться с этим.

  1. Легкий путь

    Используйте встроенные переменные среды Jenkins, как вы уже предлагали в комментариях.

def workingBranch = System.getenv ("GIT_BRANCH")?: grgit.branch.current.fullName

  1. Способ конфигурации задания

    Вы также можете настроить задание для извлечения ветки как локальной, а не отдельной HEAD. Это находится в разделе "Дополнительные поведения" с названием "Выписка в конкретное местное отделение". Есть много других вопросов, которые подробно описывают настройки для этого и / или подход Declarative Pipeline, в зависимости от ваших потребностей.

Другие вопросы по тегам