Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins管道-在循环内顺序触发作业_Jenkins_Groovy_Jenkins Pipeline - Fatal编程技术网

Jenkins管道-在循环内顺序触发作业

Jenkins管道-在循环内顺序触发作业,jenkins,groovy,jenkins-pipeline,Jenkins,Groovy,Jenkins Pipeline,我有一个Jenkins管道,在这里我用不同的参数触发一个作业。参数的数量也可能改变,从而改变作业需要触发的次数。这就是为什么我在for循环中有构建作业。下面是代码的样子: pipeline{ stages{ stage('Setup'){ steps{ script { for (int i=0; i<list_one.size(); i++ ) {

我有一个Jenkins管道,在这里我用不同的参数触发一个作业。参数的数量也可能改变,从而改变作业需要触发的次数。这就是为什么我在for循环中有
构建作业
。下面是代码的样子:

pipeline{

    stages{
        stage('Setup'){
            steps{
                script {
                    for (int i=0; i<list_one.size(); i++ ) {
                    def index_i = i
                        for (int j=0; j<list_two.size(); j++) {
                            def index_j = j
                            stage ("${list_one[i]} ${list_two[j]}") {
                                sh "echo 'index_i: ${index_i}'"
                                sh "echo 'index_j: ${index_j}'"
                                build job: 'Downstream Job', parameters: [
                                    string(name: 'some_param', value: "${list_one[index_i]}")]
                            }
                        }
                    }
                }
            }
        }
    }
}
管道{
舞台{
阶段(“设置”){
台阶{
剧本{

对于(inti=0;i或您可以使用类似于propagate=false的内容


hmm第一次触发的作业是否通过了?如果没有,那么它会将作业标记为失败并中止其余的迭代。我认为应该有一个并行语句。不,我特别希望这些作业按顺序运行,而不是并行运行。另外,要使用
parallel
我认为首先需要创建一个闭包映射包括所有这些
构建作业
语句,然后将其传递给
并行