请告诉我,我可以将具有声明性管道的一个jenkinsfile集成到另一个管道中吗?
想法是并行运行几个进程,这些进程分为不同的jenkinsfiles。
stage('run-parallel-branches') {
steps {
parallel(
a: {
echo "call Jenkinsfile 1"
},
b: {
echo "call Jenkinsfile 2"
}
)
}
}
感谢您的帮助。
答案 0 :(得分:1)
您有两种解决方案:
如果您的目标是避免重复代码,则可以使用Shared Libraries并将在Jenkinsfile1
和Jenkinsfile2
中完成的工作提取到一个库中,然后调用该库
您的两个Jenkinsfile可以有其专用的作业,您可以在并行阶段调用它们(它将等待并传播错误):build 'myJob1'
和build 'myJob2'
但是,这种方法的问题在于,被调用的作业不一定具有与父作业相同的SCM提交(如果同时输入了提交)。