Jenkins 詹金斯并联管道
我有一个管道脚本,目前可以按顺序执行所有操作:Jenkins 詹金斯并联管道,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我有一个管道脚本,目前可以按顺序执行所有操作: node('virtual'){ stage('setup'){...} stage('build'){...} stage('test'){...} stage('clean'){...} } node('real'){ stage('setup'){...} stage('build'){...} stage('test'){...} stage('clean'){...} }
node('virtual'){
stage('setup'){...}
stage('build'){...}
stage('test'){...}
stage('clean'){...}
}
node('real'){
stage('setup'){...}
stage('build'){...}
stage('test'){...}
stage('clean'){...}
}
如果我想让它并行,最好的方法是什么?我知道阶段不应该/不可能在并行语句中,但我需要所有这些阶段都发生在同一个节点上。每个节点的命令确实不同
这是一个可以接受的解决方案吗?我确实需要编译后的Build输出在测试中可以访问,如果我不需要它们,我想最小化任何checkout scm
,除了第一个
stage('setup'){
parallel(
virtual:{
node('virtual'){
// do work
// stash what is needed
}
},
real:{
node('real'){
// do work
// stash what is needed
}
})
}
stage('setup'){
parallel(
virtual:{
node('virtual'){
//unstash setup
// do work
// stash what is needed
}
},
real:{
node('real'){
// do work
// stash what is needed
}
})
}
// continue for the rest...