将参数从节点内部传递到外部,以动态并行于多节点

时间:2018-09-27 11:56:10

标签: jenkins groovy jenkins-pipeline

我正在创建一个詹金斯管道,我想在其中传递从node1动态生成的变量到外部。此变量包含以逗号分隔的JSON文件名的列表。我想将其传递到节点的外部以用于动态并行作业,在这里我可以指定多个节点。我只是无法将列表传递到jsonlist变量。有什么方法可以从节点外部访问变量?

node('node1') {

    stage('Initialized') {
        sh "${workspace}/fastq_to_ubam/tolist.sh listJsonFiles"
        def foundfiles = sh ( script:"${workspace}/fastq_to_ubam/tolist.sh listJsonFiles", returnStdout: true).trim()
        environment {
            mylist = '${foundfiles}'
        }
    }    
}

def jsonlist = mylist.tokenize(",")

def stepsForParallel = jsonlist.collectEntries {
    ["echoing ${it}" : transformIntoStep(it)]
}

parallel stepsForParallel

0 个答案:

没有答案