为了解释这个问题,假设我有 2 个詹金斯工作。
作业1:PARAM_TEST1
它接受一个名为“MYPARAM”的参数化值
作业2:PARAM_TEST2
它还接受一个名为“MYPARAM”的参数化值
有时我需要按顺序运行这两个作业 - 所以我创建了一个单独的管道作业,如下所示。它工作得很好。
它还接受一个名为“MYPARAM”的参数化值,以便将其简单地传递到构建作业步骤。
pipeline {
agent any
stages {
stage("PARAM 1") {
steps {
build job: 'PARAM_TEST1', parameters: [string(name: 'MYPARAM', value: "${params.MYPARAM}")]
}
}
stage("PARAM 2") {
steps {
build job: 'PARAM_TEST2', parameters: [string(name: 'MYPARAM', value: "${params.MYPARAM}")]
}
}
}
}
我的问题:
这个例子很简单。事实上我有20份工作。我不想重复parameters: [string(name: 'MYPARAM', value: "${params.MYPARAM}")]
在每一个阶段。
有没有办法在一个地方设置所有构建作业步骤的参数?
您可以做的是将公共参数放在管道级别上,并将特定参数添加到阶段中的参数中
pipeline {
agent any
parameters {
string(name: 'PARAM1', description: 'Param 1?')
string(name: 'PARAM2', description: 'Param 2?')
}
stages {
stage('Example') {
steps {
echo "${params}"
script {
def myparams = params + string(name: 'MYPARAM', value: "${params.MYPARAM}")
build job: 'downstream-pipeline-with-params', parameters: myparams
}
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)