Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JobDSL-如果Jenkins中不存在新作业,则创建新作业_Jenkins_Groovy_Jenkins Job Dsl - Fatal编程技术网

JobDSL-如果Jenkins中不存在新作业,则创建新作业

JobDSL-如果Jenkins中不存在新作业,则创建新作业,jenkins,groovy,jenkins-job-dsl,Jenkins,Groovy,Jenkins Job Dsl,我创建了这个Groovy JobDSLs脚本来生成一个新的Jenkins jobs List screen = [["AAA", "Description" ],["AAA", "Description" ]] for (item in screen) { job(item[0]) { description(item[1]) steps { shell('command ...') } }​ }​ 如果J

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

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

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

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

如果作业定义发生更改,并且您希望忽略这些更改,请在Process job DSL build步骤中选择现有作业和视图的操作:忽略更改选项

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


jobDsl的目标是:“jobs/**/seed.groovy”,忽略现有:true

您完全正确@daspilker如果同名作业已经存在,它将保留历史记录和日志。此代码仅在设置不同时更新同名作业。这是伟大的,我没有预料到,它会表现得很自然。