将一个带有声明式管道的jenkinsfile集成到另一个

时间:2018-09-05 07:59:42

标签: jenkins jenkins-pipeline

请告诉我,我可以将具有声明性管道的一个jenkinsfile集成到另一个管道中吗?

想法是并行运行几个进程,这些进程分为不同的jenkinsfiles。

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

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您有两种解决方案:

  1. 如果您的目标是避免重复代码,则可以使用Shared Libraries并将在Jenkinsfile1Jenkinsfile2中完成的工作提取到一个库中,然后调用该库

  2. 您的两个Jenkinsfile可以有其专用的作业,您可以在并行阶段调用它们(它将等待并传播错误):build 'myJob1'build 'myJob2'

    但是,这种方法的问题在于,被调用的作业不一定具有与父作业相同的SCM提交(如果同时输入了提交)。