从作业DSL工厂创建Jenkins多分支管道作业

从作业DSL工厂创建Jenkins多分支管道作业,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,是否可以通过作业DSL创建多分支管道作业,该作业DSL通过“管道脚本”定义作业,而不是每个Git存储库包含的Jenkinsfile 我们希望避免在100个Git存储库中生成和维护相同的Jenkins文件(除了一些参数) 目前,我们正在使用管道作业和工厂作业播种的作业DSL,但目前我们在多分支构建(功能分支)方面受到限制。因此,我们希望切换到多分支管道作业,但在播种方面我们受到了限制 我知道我们可以使用Jenkins文件(Git Repo of Project),其中包括来自Jenkins的其他常

是否可以通过作业DSL创建多分支管道作业,该作业DSL通过“管道脚本”定义作业,而不是每个Git存储库包含的Jenkinsfile

我们希望避免在100个Git存储库中生成和维护相同的Jenkins文件(除了一些参数)

目前,我们正在使用管道作业和工厂作业播种的作业DSL,但目前我们在多分支构建(功能分支)方面受到限制。因此,我们希望切换到多分支管道作业,但在播种方面我们受到了限制


我知道我们可以使用Jenkins文件(Git Repo of Project),其中包括来自Jenkins的其他常见Jenkins文件,但这只是一个解决办法。

只有管道作业可以内联定义管道。多分支作业不能改变这一点,而JobDSL也不能改变这一点

可能更好的替代方法是使用一个。您可以将Jenkins配置为自动加载此库,以便所有repo中的特定
Jenkins文件
s只需从中调用函数即可

例如,您可以查看的
Jenkinsfile
of-它只调用共享库中的函数:

buildPlugin()
在您的例子中(正如您所写的“除某些参数外”),此函数可能有一些参数,这些参数可能因不同的作业而有所不同。
buildPlugin
函数在中实现https://github.com/jenkins-infra/pipeline-library/blob/master/vars/buildPlugin.groovy.


虽然这仍然需要您更新所有回购协议,但在您的组织中引入管道可能是更好的起点。

只有管道作业可以内联定义管道。多分支作业不能改变这一点,而JobDSL也不能改变这一点

可能更好的替代方法是使用一个。您可以将Jenkins配置为自动加载此库,以便所有repo中的特定
Jenkins文件
s只需从中调用函数即可

例如,您可以查看的
Jenkinsfile
of-它只调用共享库中的函数:

buildPlugin()
在您的例子中(正如您所写的“除某些参数外”),此函数可能有一些参数,这些参数可能因不同的作业而有所不同。
buildPlugin
函数在中实现https://github.com/jenkins-infra/pipeline-library/blob/master/vars/buildPlugin.groovy.

虽然这仍然需要您更新所有回购协议,但在您的组织中引入管道可能是更好的起点