现在我正在使用Jenkins中的execute shell进行构建。
(目前)下面的代码是按顺序构建的。我想并行地执行这一点。
发布于 2021-07-22 13:40:48
您有几个选项可以在Jenkins管道内并行运行。
第一个选项是使用静态平行指令阶段,它允许您在声明性管道内轻松定义并行阶段,如下所示:
pipeline {
agent any
stages {
stage('Non-Parallel Stage') {
steps {
echo 'This stage will be executed first.'
}
}
stage('Parallel Stages') {
parallel {
stage('Test 1') {
steps {
sh "python3 $WORKSPACE/folder/test1.py"
}
}
stage('Test 2') {
steps {
sh "python3 $WORKSPACE/folder/test2.py"
}
}
.....
}
}
}
}第二个也是更动态的选项是使用内置的parallel 关键字,它将从分支名到闭包的映射:
parallel firstBranch: {
// do something
}, secondBranch: {
// do something else
},
failFast: true|false并使用它动态创建并行执行步骤,如下所示:
tests = ['test1','test2','test3', 'test4']
parallel tests.collectEntries{ test ->
["Running test ${test}" : {
sh "python3 $WORKSPACE/folder/${test}.py"
}]
}此代码可以驻留在脚本管道中的任何位置,也可以驻留在声明管道中的script指令中。
https://stackoverflow.com/questions/68464242
复制相似问题