Интегрировать один jenkinsfile с декларативным конвейером в другой - PullRequest
0 голосов
/ 05 сентября 2018

подскажите пожалуйста, можно ли интегрировать один jenkinsfile с декларативным конвейером в другой?

Идея состоит в том, чтобы параллельно запустить несколько процессов, которые разделены на разные файлы jenkins.

stage('run-parallel-branches') {
  steps {
    parallel(
      a: {
        echo "call Jenkinsfile 1"
      },
      b: {
        echo "call Jenkinsfile 2"
      }
    )
  }
}

Спасибо за помощь.

1 Ответ

0 голосов
/ 06 сентября 2018

У вас есть два решения:

  1. Если ваша цель состоит в том, чтобы избежать повторения кода, вы можете использовать Shared Libraries и извлечь работу, выполненную в Jenkinsfile1 и Jenkinsfile2, в библиотеку, а затем вызвать эту библиотеку вместо этого.

  2. Ваши два файла Jenkinsfile могут иметь свои выделенные задания, и вы будете вызывать их на параллельных этапах (это будет ждать и распространять ошибки): build 'myJob1' & build 'myJob2'

    Однако проблема этого подхода заключается в том, что вызванное задание не обязательно будет иметь тот же коммит SCM, что и родительский (если коммиты были введены между тем).

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