BitBucket для запуска задания Дженкинса

Я изучил плагин BitBucket в Jenkins, чтобы настроить непрерывную интеграцию. Тем не менее, я хочу иметь оболочку, чтобы каждый раз, когда делается фиксация в BitBucket, как я могу определить имя ветки, в которой была сделана эта фиксация. Вместо того, чтобы иметь отдельную работу jenkins для каждого репо, я хотел зафиксировать имя репо и имя ветки в Jenkins, у которого есть соответствующая фиксация в Bitbucket, и сохранить эту информацию в MySQL db.

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

Любые указатели на то, как получить ветку git и имя репо в задании Дженкинса?


person iDev    schedule 24.03.2020    source источник


Ответы (1)


Что касается имени репозитория, вы можете извлечь его из GIT_URL (при условии, что у вас есть только один удаленный)

У вас есть другие переменные среды, в том числе:

  • GIT_BRANCH: имя текущей ветки Git, над которой работает подключаемый модуль Jenkins Git, и
  • GIT_LOCAL_BRANCH: имя локальной ветки Git, когда выбран параметр плагина Jenkins Git «оформить заказ в определенную локальную ветку».

Но ничто из этого не говорит вам имя ветки, в которой была сделана фиксация: git branch --contains <aSHA1> может возвращать несколько веток (все ветки, в которых доступен SHA1, т. е. ветки, верхние фиксации которых являются потомками указанной фиксации)
Ветвь, в которой была создана фиксация, может был удален или переименован с момента создания.

person VonC    schedule 25.03.2020