如何在多个平台上并行运行单个阶段列表

时间:2019-09-03 14:41:53

标签: jenkins-pipeline

我有一系列构建和测试阶段。我想在多个平台上并行运行它们。我无法确定如何使用声明性语法。

基于parallel的文档和示例,我试图将变量设置为要在两个并行阶段中的每个阶段运行的阶段列表,但看来您不能以这种方式使用变量以声明的方式?

def stage_list = {
    stage('hello world') {
        steps {
            echo "hello world"
        }
    }
    stage('dump environment') {
        steps {
            echo "---- environment ----"
            sh "env | sort"
        }
    }
}

pipeline {
    agent none
    stages {
        stage('multi platform build') {
            parallel {
                stage ('Ubuntu') {
                    agent { label "Ubuntu" }
                    stages stage_list
                }
                stage ('CentOS') {
                    agent { label "CentOS" }
                    stages stage_list
                }
            }
        }
    }
}

看起来好像不解释变量?有什么办法吗?

WorkflowScript: 22: Expected a block for stages @ line 22, column 6.
                    stages stage_list

0 个答案:

没有答案