我想知道 python 并行构建 (Jenkins)
I want to know python build in parallel (Jenkins)
现在我正在 Jenkins 中使用 execute shell 进行构建。
(currently) 下面的代码是按顺序构建的。我想并行实现它。
now code status
(我想要)构建操作 -> test1.py ~ test4.py 并行执行
有没有办法以这种方式并行构建(执行shell)或其他策略?
您有多种选择可以在 Jenkins 管道中并行 运行 事物。
第一个选项是使用静态 Parallel Directive Stages,它允许您在声明性管道中轻松定义并行阶段,例如:
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
keyword,它采用从分支名称到闭包的映射:
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
指令中。
现在我正在 Jenkins 中使用 execute shell 进行构建。
(currently) 下面的代码是按顺序构建的。我想并行实现它。
now code status
(我想要)构建操作 -> test1.py ~ test4.py 并行执行
有没有办法以这种方式并行构建(执行shell)或其他策略?
您有多种选择可以在 Jenkins 管道中并行 运行 事物。
第一个选项是使用静态 Parallel Directive Stages,它允许您在声明性管道中轻松定义并行阶段,例如:
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
keyword,它采用从分支名称到闭包的映射:
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
指令中。