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

JobDSL - Create a new job if it doesn't exist in Jenkins already

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

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

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

如果作业定义没有改变,作业 DSL 不会更新作业。

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

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

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