如何在Jenkins工作流程(Pipeline)插件中执行Job DSL脚本

3
我正在尝试将Workflow Multibranch的分支处理与强大的Job-Dsl插件的作业生成相结合。因此,我希望从存储库中的脚本重新生成分支的作业并运行主作业。
但是,我没有看到从工作流脚本运行Process Job DSLs步骤的方法。也许有一种内置的方法可以在Workflow中执行自定义步骤,但我找不到它。
3个回答

2
您可以创建一个单独的作业来处理 job-dsl,并通过 "build job: xxx" 步骤从工作流中使用适当的参数调用它。

是的,似乎这是唯一的选择。但是Workflow没有像WORKSPACE或GIT_COMMIT这样的变量可供使用,手动检索这些变量看起来像是一种hack... - Andrey Ershov
也没有为我工作-在执行工作流作业的过程中,使用job-dsl脚本出现了各种奇怪的问题,基本上这是我唯一的解决方法。 - Andrey Ershov

1

我不是很确定你的目标是什么,但也许你真正想要的是Job DSL的多分支绑定,或者手动迭代分支。

另外,只使用Workflow可能就可以实现你的目标,无论那是什么。


我真正需要的是Jenkins中像其他CI解决方案一样对分支的正常支持。Workflow是一个不错的插件,但与Job DSL相比,它只有10%的功能,可以说它们在目的上甚至是正交的。目标是设置复杂的工作流程,这些工作流程是从源代码控制生成的,从一个分支到另一个分支有所不同,并且仍然可以通过UI进行某种程度的自定义。多分支绑定-您指的是多分支插件吗?如果是的话,它没有提供一种不基于内容检出分支的方法,就像使用Jenkinsfile的工作流程一样。 - Andrey Ershov

1

看起来可以在流水线中使用jobDSL方法。

查看代码片段生成器以生成一些代码: enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接