Alj*_*jaz 3 groovy jenkins jenkins-pipeline
我正在 Jenkins v.2.8 中构建管道工作流。我想要实现的是构建一个步骤,该步骤将在同一时间以不同的参数多次触发相同的作业。
示例:我有一个名为“Master”的工作流,它有一个步骤,这一步是读取我的参数“Number”,它是一个带有多选选项的复选框。因此用户可以触发工作流程并选择数字选项,如“1、2、3”。现在,当执行此步骤时,我想要实现的目标是调用我的作业“Master_Child”并同时使用 3 个不同的参数触发“Master_Child”。
我试图这样做:
stage('MyStep') {
steps {
echo 'Deploying MyStep'
script {
env.NUMBER.split(',').each {
build job: 'Master_Child', parameters: [string(name: 'NUMBER', value: "$it")]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是它读取第一个参数触发带有参数 1 的 Mast_Child 并等待作业完成,当作业完成时,它会触发带有参数 2 的相同作业。
如果我在作业调用时使用wait: false,则管道工作流仅使用不同的参数调用此作业,但不依赖于子作业是否失败。
任何想法如何实施?先感谢您。
我以这种方式解决了我的问题。
stage('MyStage') {
steps {
echo 'Deploying MyStep'
script {
def numbers = [:]
env.NUMBER.split(',').each {
numbers["numbers${it}"] = {
build job: 'Master_Child', parameters: [string(name: 'NUMBER', value: "$it")]
}
}
parallel numbers
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6156 次 |
| 最近记录: |