我在用着詹金斯2.0使用 Cloudbees 文件夹插件,因为这允许我创建多个类似的项目。每个文件夹中的作业都可以分解,留下一个顶级作业,然后可以调用参数化作业。
我想将参数化作业放在通用文件夹中,然后从管道脚本中调用它们。
所以在 jenkins 浏览器中我会有 3 个文件夹:ProjA、ProjB 和 Generic。在 ProjA 下,我有一个管道作业,需要在通用文件夹中构建一个名为 TestJib 的作业。
我的管道是这样的:
node('master'){
stage ('Run job'){
build job: "../Generic/TestJob",
parameters: [[$class: 'StringParameterValue', name: 'testa', value: tests]]
}
}
运行这个给出:“错误:没有名为 ../TestJob 的参数化作业”
我尝试了构建作业的许多变体:“../Generic/TestJob”,但我总是遇到相同的错误。
如果我将 TestJob 放在与管道作业相同的文件夹中,则效果很好。
您只需之前设置不带斜杠的文件夹即可。
如果您在文件夹FolderS中有一个作业,您的作业将类似于:
stage ('My Stage'){
build job: "FolderA/JobA",
}
所以对于你来说,你的解决方案将是:
node('master'){
stage ('Run job'){
build job: "Generic/TestJob",
parameters: [[$class: 'StringParameterValue', name: 'testa', value: tests]]
}
}
无论您的工作位于何处,您只需指明完整路径即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)