提取自由式作业并在另一个Jenkins实例中创建管道作业

时间:2017-11-14 10:55:53

标签: jenkins groovy jenkins-pipeline jenkins-cli

我有两个jenkins实例(jenkins1和jenkins2)

Jenkins1 - 包含自由式作业(所有在特定模板上运行)

我需要从jenkins1中提取所有作业,并在jenkins2中将这些作业创建为管道作业。

我知道简单地复制作业不起作用(因为它是两个不同的模板Freestyle和管道)

如何使用groovy / shell脚本以高效的方式实现此目的?

1 个答案:

答案 0 :(得分:1)

每个作业都有一个config.xml,其中所有作业步骤都列在xml中。

解析该文件并提取所有信息,而不是在管道作业例程中转换它们。

我认为groovy / shell脚本是实现它的完美方式,只需使用config.xml作为信息源。

以下资源可以提供帮助:

https://jenkinsworld20162017.sched.com/event/Bk3r/auto-convert-your-freestyle-jenkins-jobs-to-coded-pipeline?iframe=no&w=100%&sidebar=yes&bg=no

https://github.com/visualphoenix/jenkins-xml-to-jobdsl