我有一个名为的管道作业buildall看起来像这样:
pipeline {
stages {
stage("job1") {
build job: "job1"
}
}
}
The buildalljob有25个参数。我想通过所有buildall的参数降至job1。有没有一种简单的方法可以做到这一点,而不是手动指定每个参数?
在这个问题中:管道将参数传递给下游作业 https://stackoverflow.com/questions/37025175/pipeline-pass-parameters-to-downstream-jobs有人提出了一个子问题但从未回答:或者更好的是,是否有一种不太麻烦的方法,我可以将所有管道参数传递给下游作业。
这和我有同样的问题。
以下似乎有效(不过我还没有对其进行广泛的测试):
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 = currentBuild.rawBuild.getAction(ParametersAction).getParameters()
build job: 'downstream-pipeline-with-params', parameters: myparams
}
}
}
}
}
缺点:要访问 rawBuild 和 getAction,您必须禁用 Groove 沙箱或在 Jenkins 中的“管理 Jenkins”>“进程内脚本批准”下批准这些签名。此对话框将显示您可能引入了安全漏洞。因此,是否愿意冒这个风险取决于您的环境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)