我创建了这个Groovy JobDSLs脚本来生成一个新的Jenkins作业。
List screen = [["AAA", "Description" ],["AAA", "Description" ]]
for (item in screen) {
job(item[0]) {
description(item[1])
steps {
shell('command ...')
}
}
}
有没有办法告诉JobDSL插件如果在Jenkins中已经存在,不在列表中创建作业?我不想保留用于生成新作业的单独文件。一个文件用于新作业,一个文件用于所有现有作业。
答案 0 :(得分:4)
如果作业定义未更改,则作业DSL不会更新作业。
如果作业定义发生变化,并且您想忽略这些更改,请在Action for existing jobs and views: Ignore changes
构建步骤中选择Process Job DSLs
选项。
如果您使用groovy管道中的jobDsl以编程方式执行此操作,它可能如下所示:
jobDsl targets: 'jobs/**/seed.groovy', ignoreExisting: true