JobDSL - 如果Jenkins已经存在,则创建一个新工作

时间:2016-12-22 14:32:50

标签: jenkins groovy jenkins-job-dsl

我创建了这个Groovy JobDSLs脚本来生成一个新的Jenkins作业。

List screen = [["AAA", "Description" ],["AAA", "Description" ]]
for (item in screen) {
    job(item[0]) {
        description(item[1])
        steps {
            shell('command ...')
        }
    }​
}​

有没有办法告诉JobDSL插件如果在Jenkins中已经存在,不在列表中创建作业?我不想保留用于生成新作业的单独文件。一个文件用于新作业,一个文件用于所有现有作业。

1 个答案:

答案 0 :(得分:4)

如果作业定义未更改,则作业DSL不会更新作业。

如果作业定义发生变化,并且您想忽略这些更改,请在Action for existing jobs and views: Ignore changes构建步骤中选择Process Job DSLs选项。

如果您使用groovy管道中的jobDsl以编程方式执行此操作,它可能如下所示:

jobDsl targets: 'jobs/**/seed.groovy', ignoreExisting: true