我如何设置一个詹金斯工作,以并行方式调用另一个詹金斯工作,但以数组作为参数

问题描述 投票:0回答:1

我想建立一个詹金斯工作,例如工作A。我还有另一个詹金斯部署工作,例如工作B。我有一个aws cli命令,可让我获取特定群集下的ECS服务的名称,我将其放在一个数组中。现在,对于数组的每个元素作为参数,我要调用作业B。即我想让作业A并行调用作业B,对于数组的每个元素,我都将其作为参数传递给它。

对jenkins来说是新手,因此尝试使用“多作业插件”和“参数化插件”

jenkins jenkins-pipeline jenkins-plugins jenkins-groovy jenkins-cli
1个回答
0
投票

这是我在JobA的jenkins管道脚本中的处理方式:

pipeline {
        agent {
            node {
                label "master"  //change this as per your agent label
            }
        }
    stages {
        stage('Run JobB') {
            steps {
                script{
                    def ecs_services = ['service1', 'service2', 'service3']
                    for (int i = 0; i < ecs_services.size(); i++) {
                        def service = ecs_services[i]
                        ecs["${service}"] = build job: 'JobB' , parameters: [name: 'string1', value: 'foo']
                    }
                    failFast: true
                    parallel ecs
                }
            }
        }
    }
}

如果需要,您可以将ecs服务名称作为参数传递。

© www.soinside.com 2019 - 2024. All rights reserved.