运行并行构建时出现“ java.lang.IllegalArgumentException:预期为closure或failFast”异常

时间:2019-05-14 03:59:13

标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy

我有一个依次有两个并行运行的管道。 在许多从站中并行安装,完成所有机器设置后,我将按照以下代码进行构建和运行。但是,当我尝试运行脚本时,出现错误java.lang.IllegalArgumentException: Expected a closure or failFast but found 0=org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper。 参考代码:

def slaves = params.slaves

stage('Setup'){
    for(int i=0; i<slaves.size(); ++i){
        def slave = slaves[i]
        setup_builds[i] = build job: 'setup', parameters: [[$class: 'LabelParameterValue', name: 'TestMachine', label: slave]]
    }
    parallel setup_builds
}
stage('Build, run) {
    for (int i = 0; i < 4; ++i){
        def index = i
        builds[i] = {
            stage('Build') {
                build job: 'Build'
            }

            stage('Run') {
               build job: 'Run', parameters: [string(name: 'index', value: index)]
            }
        }
    }

    parallel builds
}

我尝试在setup_builds.failFast = truebuilds.failFast = true之前使用parallel setup_buildsparallel builds。但是即使那样也不能解决问题。

1 个答案:

答案 0 :(得分:1)

我认为问题之一是它期望在setup_builds级别上关闭:

setup_builds[i] =  { build job: 'setup' ... }