我想建立一个詹金斯工作,例如工作A。我还有另一个詹金斯部署工作,例如工作B。我有一个aws cli命令,可让我获取特定群集下的ECS服务的名称,我将其放在一个数组中。现在,对于数组的每个元素作为参数,我要调用作业B。即我想让作业A并行调用作业B,对于数组的每个元素,我都将其作为参数传递给它。
对jenkins来说是新手,因此尝试使用“多作业插件”和“参数化插件”
这是我在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服务名称作为参数传递。