我一直致力于创建一个jenkins共享库,它非常适合通用管道模板。最近,我需要将一个额外的用户定义阶段传递到我的通用管道。我使用闭包来实现这一点,但面临着一些问题。我希望闭包返回一个声明性阶段,它有自己的代理。步骤和其他元件,如下列程式码范例所示(请指涉下列影像):
在.jenkinsfile中定义的闭包:Closure defined in .jenkinsfile
从jenkins共享库Call to closure from jenkins shared library调用闭包
错误消息:Error Message
请让我知道如何才能实现上述功能。
1条答案
按热度按时间pvabu6sv1#
使用脚本化管道运行声明性管道脚本。
创建一个包含阶段的类型、操作、内容等的Map。然后在管道中读取并执行Map的内容。
将此管道脚本复制并粘贴到管道作业中(如果需要,请取消选中Groovy Sandbox):