Расширение Дженкинс Groovy DSL
Как я могу добавить / отредактировать новый код для моего экземпляра Jenkins, который будет доступен в сценарии DSL? Контекст следует
Я унаследовал экземпляр Дженкинса. Часть этого наследства включает ночевку в доме с привидениями, написание некоторой новой автоматизации в отличной форме с помощью плагина Jobs DSL. Поскольку я боюсь испортить наш экземпляр jenkins, мой первый шаг - создание экземпляра локальной разработки.
У меня возникли проблемы с запуском одного из существующих сценариев DSL на моем локальном экземпляре разработки - мои сборки на локальном сервере завершаются неудачно со следующим в консоли ошибок Jenkins.
Processing DSL script jobs.groovy
ERROR: startup failed:
jobs.groovy: 1: unable to resolve class thecompanysname.jenkins.extensions
Рассматриваемый сценарий начинается следующим образом.
import thecompanysname.jenkins.extensions
use(extensions) {
def org = 'project-name'
def project = 'test-jenkins-repo'
def _email = 'foo@example.com'
Итак, насколько я могу судить, кажется, что предшественник написал некоторый пользовательский код Groovy, который они импортируют
import thecompanysname.jenkins.extensions
Что мне не понятно
- Где этот код живет
- Как я могу найти это в нашем настоящем экземпляре Дженкинс
- Как я могу добавить в мой локальный экземпляр
Конкретные ответы приветствуются, так как здесь вы узнаете, как научиться ловить ответы.
2 ответа
В то время как могут быть другие способы достигнуть этого, после небольшого возни вокруг я обнаружил
У установленного мной экземпляра Jenkins установлена более старая версия подключаемого модуля Jobs DSL.
Эта версия плагина Jobs DSL позволила вам установить дополнительный
classpath
в вашем разделе работы Process DSL Builds, который указал на дополнительныеjar
файлы.Эти jar-файлы могут дать вам доступ к дополнительным классам в ваших отличных скриптах (т.е.
thecompanysname.jenkins.extensions
)
К сожалению, более поздние версии плагина Jobs DSL убрали эту опцию, и неясно, возможно ли добавить ее обратно. Это, однако, другой вопрос.
Настройте глобальную безопасность -> снимите флажок «Включить безопасность сценариев для сценариев Job DSL».
работает для меня