首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想知道python并行构建(Jenkins)

我想知道python并行构建(Jenkins)
EN

Stack Overflow用户
提问于 2021-07-21 05:06:41
回答 1查看 182关注 0票数 0

现在我正在使用Jenkins中的execute shell进行构建。

(目前)下面的代码是按顺序构建的。我想并行地执行这一点。

现在代码状态

  • (我希望)构建动作-> test1.py ~ test4.py并行执行
  • 是否有一种以这种方式(执行shell)或其他策略并行构建的方法?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-22 13:40:48

您有几个选项可以在Jenkins管道内并行运行。

第一个选项是使用静态平行指令阶段,它允许您在声明性管道内轻松定义并行阶段,如下所示:

代码语言:javascript
复制
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 关键字,它将从分支名到闭包的映射:

代码语言:javascript
复制
parallel firstBranch: {
    // do something
}, secondBranch: {
    // do something else
},
failFast: true|false

并使用它动态创建并行执行步骤,如下所示:

代码语言:javascript
复制
tests = ['test1','test2','test3', 'test4']
parallel tests.collectEntries{ test ->
    ["Running test ${test}" : {
        sh "python3 $WORKSPACE/folder/${test}.py"
    }]
}

此代码可以驻留在脚本管道中的任何位置,也可以驻留在声明管道中的script指令中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68464242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档