Централизованно управляемый Jenkinsfile

Я использую многоотраслевой конвейер Jenkins. Я создал файл Jenkins с помощью генератора синтаксиса конвейера. Мой Jenkinsfile работает отлично, как и ожидалось.

Но теперь я хочу управлять этим Jenkinsfile централизованно, поэтому мне не нужно копировать его во все мои репозитории (git). Я вижу, что есть варианты иметь общий Groovy-скрипт и загружать методы как модуль. Но это будет означать, что мне придется переписать свой Jenkinsfile с другим синтаксисом?

Я пробовал несколько вариантов, но пока не удалось. Например, я добавил jenkinsfile в его собственное репозиторий git, и я добавил это репо как подмодуль в репозиторий (code). Затем я попытался в Jenkins настроить, как на изображении ниже.

Это путь вперед, есть ли какой-нибудь (простой) способ достичь того, что я пытаюсь сделать?

Пример конфигурации Jenkins


person Martijn van der Kamp    schedule 26.09.2017    source источник


Ответы (2)


Плагин общей библиотеки Jenkins может вам помочь. Ознакомьтесь с документами

person herm    schedule 26.09.2017
comment
Я уже смотрел этот вариант. Но написать общую библиотеку нельзя в синтаксисе конвейера Jenkins? Это означает, что мне придется выучить и переписать то, что я создал до сих пор. Также моей команде нужно научиться этому. Я хочу иметь вариант, в котором я могу использовать синтаксис конвейера, и я не думаю, что смогу сделать это с общими библиотеками. - person Martijn van der Kamp; 27.09.2017
comment
Вы можете использовать синтаксис конвейера Jenkins с общими библиотеками - person herm; 27.09.2017

Вы были правы, но другой awnser stackoverflow помог мне решить мою проблему. Как ни странно, я его больше не могу найти :(.

Суммируя:

Я определил замедление всего конвейера как глобальную переменную (в файле с именем var \ soaPipeline.groovy)

def createSOAStandardDeclarativePipeline() {
        node {
            stage('checko.....

Добавлен Jenkinsfile в репозиторий кода. Файл содержит следующую строку:

soaPipeline.createSOAStandardDeclarativePipeline()

Затем конфигурация в jenkins: конфигурация jenkins

person Martijn van der Kamp    schedule 27.09.2017