Организовать выполнение нескольких Jenkinsfile, используя только декларативный синтаксис - PullRequest
0 голосов
/ 17 февраля 2020

Возможно ли из Jenkinsfile организовать выполнение другого Jenkinsfile, используя для всех них декларативный синтаксис ?

Я имею в виду, я хотел бы иметь такой Jenkinsfile, как этот один (который я называю «оркестратор»):

pipeline {
    agent any
    stages {
        stage('Invoke another Jenkinsfile') {
            ... code here to invoke folder1/Jenkinsfile ...
        }
    }
}

folder1/Jenkinsfile будет обычным Jenkinsfile, как этот:

pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                echo 'Hello World'
            }
        }
    }
}

Как вы уже догадались, структура файла в этом примере будет выглядеть следующим образом:

folder1
│   └── Jenkinsfile
└── Jenkinfile //this will be the 'orchestrator'

Как этого добиться? Не могли бы вы помочь мне разобраться в коде, который должен содержать оркестратор для вызова другого файла Jenkinsfile?

Я ожидаю последовательный процесс & syn c, в котором оркестратор ожидает завершения выполнения folder1/Jenkinsfile, чтобы отметить шаг «Вызвать еще один Jenkinsfile», выделенный зеленым, а затем перейти к оставшимся шагам.

Заранее спасибо!

1 Ответ

0 голосов
/ 17 февраля 2020

Я никогда не пытался загрузить реальный ".jenkinsfile", но я сделал это с помощью groovy скриптов, что в итоге и составляет jenkinsfile. Я сделал так, как это:

   def outsider = load "outsider.groovy"

Как можно увидеть здесь: https://jenkins.io/doc/pipeline/steps/workflow-cps/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...