Groovy Pipeline Получение последних n коммитов и изменений из git - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть git-репозиторий, в котором файлы удалены и удалены.Каждый файл уникален и имеет ссылку внутри него.Мы используем Jenkins для опроса git и получения этого коммита, а затем запускаем сборку Jenkins из него.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я хочу получить последнее n число этих коммитов от master и повторить каждый коммит вопределить, какие из них должны быть восстановлены на основе некоторых критериев.

Возможно ли получить эту информацию из git через groovy?Я считаю, что последний коммит, последняя сборка Дженкинса возможна, но мне нужно больше.Есть ли способ сделать это, кроме написания скрипта Powershell, который возвращает такие данные?

Windows env.Заранее спасибо, надеюсь, это было ясно.

1 Ответ

0 голосов
/ 09 февраля 2019

Существует два способа:

  1. Вы можете получить все изменения в текущей сборке и перейти к предыдущим сборкам: currentBuild.previousBuild.ревизии .
    Подсказка: проверьте, есть ли предыдущая сборка: if(currentBuild.previousBuild) или используйте нулевой безопасный оператор: currentBuild.previousBuild?.changeSets

  2. Вы можете написать Общая библиотека , котораяслужит вашим конкретным потребностям.Это требует больше усилий и является более подверженным ошибкам / трудным, поскольку Дженкинс использует CPS (стиль непрерывной передачи) для скриптов Groovy.Вы можете использовать библиотеки из репозитория Maven в Groovy Scripts, используя Grape .

...