Jenkins выполняет Groovy-скрипт перед загрузкой плагинов - PullRequest
0 голосов
/ 30 октября 2019

Мне нужно изменить некоторые файлы конфигурации плагинов перед загрузкой плагинов. Я заглянул в init.groovy.d, однако, похоже, что скрипты Groovy в этом каталоге запускаются после загрузки плагинов и, следовательно, для применения потребуется перезапуск. Есть ли способ запустить скрипты Groovy до того, как Jenkins загрузит плагины?

1 Ответ

1 голос
/ 01 ноября 2019

То, что вы запрашиваете, не обязательно. Как правило, при добавлении плагинов они оказываются ненастроенными. Jenkins запускается, загружает плагины, затем вы можете настроить через init.groovy, CasC и т. Д., Аналогично добавлению через графический интерфейс (добавление, перезапуск, настройка).

Запускаем w / war файл, обертку, init.groovy.d, плюс вариант докера install_plugins.sh. Кроме войны, wrapper и wrapper.conf, install_plugins.sh и список плагинов, а также все сценарии инициализации контролируются в репозитории git, который мы опускаем. сбросить плагины в директорию плагинов, затем запустить jenkins.sh.

init.groovy запускается автоматически после инициализации и настраивает все системные, глобальные значения, значения инструментов и плагинов, а также значения учетных данных, а также создает / настраивает узлы.

Примечание: лучше всего использовать 1 сценарий инициализации на раздел или плагин, поскольку сбой в любом скрипте инициализации будет тихо завершаться, эффективно пропуская оставшуюся часть сценария.

Возможно, вам потребуется .save()после установки большинства параметров через init.goovy. Возможно, именно поэтому вы не видели изменений.

Если вы действительно были параноиком, вы могли бы сначала вызвать Hudson.instance.doQuietDown(), что эффективно блокирует очередь (несколько скриптов init.groovyвыполнить в лексическом порядке ), выполнить все настройки, затем вызвать doCancelQuietDown(), но у нас не было проблем без этого.

Этот подход (init.groovy.d) работает нормально, но теперь я хочу перейти на JCasC, когда он созрел. CasC проще в управлении (опять же, с использованием отдельных файлов конфигурации для каждого плагина) и чтения.

...