2016-04-08 7 views
0

У меня есть работа по фристайлу (shell) jenkins, которая в определенных ситуациях будет проверять другое дерево git, чем тот, с которого он был запущен. Причиной этого являются процедурные требования.Jenkins: как получить доступ к редакции git после завершения сборки

Общий поток:

  • Начать работу с несколькими параметрами, в том числе git_identifier, который используется в строительстве GIT URL для Src проверки
  • После некоторых проверок приобретения товара выполняется на git_identifier (я это знаю такая же, как и раньше, но тем не менее)
  • В определенных ситуациях (проверка недействительности, бизнес-правила и т. д.) мастер проверки вместо переданного git_identifier
  • Завершение работы и мне нужно создать несколько журналов аудита.
  • Выполнение задания контролируется внешней системой

Вопросы:

  • Что точно зафиксированный в lastBuiltRevision?
  • Если это sha1 git_identifier, переданный как часть параметров сборки, как я могу получить sha1 состояния проверки (отсоединенной головки) после завершения сборки?

Предположим, что несколько (не малых, не больших) результатов работы хранятся jenkins, но работа, которую мы заинтересовали, может быть перезаписана. Содержимое рабочей области не сохраняется, и мы предпочитаем, чтобы он оставался таким образом.

Уведомление о внешней системе мониторинга от дженкинсов не представляется возможным. Они доступны, но некоторые дополнительные данные во внешней системе не могут быть связаны с данными дженкинсов. Мне нужно получить несколько дополнительных бит информации для записи в журнале аудита.

Любые советы приветствуются.

ответ

0

Что конкретно записано в lastBuiltRevision?

lastBuiltRevision является фиксация проверили с помощью Git плагин при запуске сборки, то есть он является SHA1 коммита указал на treeish, сконфигурированной в филиалах построить поле.

Если это sha1 из git_identifier, переданный в качестве части параметров сборки, как я могу получить sha1 состояние кассы (отдельно головы) после завершения сборки?

lastBuiltRevision может быть git_identifier, но только, если вы настроили $git_identifier в Филиалов построить поле.

В любом случае, если вы проверите еще одну фиксацию позже на этапе сборки, у Jenkins нет записи по этому вопросу: lastBuiltRevision останется в ревизии, первоначально проверенной плагином Git.

Если вы хотите записать эту информацию самостоятельно, вот несколько вариантов:

  • Вы могли бы повторить проверенную ревизию в текстовый файл и архивировать этот файл как артефакт
  • Или вы могли бы злоупотреблять build name или build description и включают в себя окончательный Выдана пересмотр там
  • или, может быть, вы могли бы написать какой-нибудь умный system groovy scripts манипулировать сборки мета-данные
+0

Я закончил тем, что добавлял эхо нужного хеша и регулярное выражение, соответствующее его в приложении аудита. Спасибо за помощь. – zeridon

Смежные вопросы