如何限制Jenkins Job-DSL中所有作业的再生

问题描述

我有一堆与我的Jenkins Jobs相对应的DSL脚本,这些脚本被放置在我的github仓库中。现在,每当我运行种子作业时,所有作业都会重新生成。有什么方法可以使Job-DSL插件重新生成具有更改的作业(在其DSL脚本中)。

我知道Job-DSL种子作业中“现有作业和视图的操作”选项的忽略操作。但这在这里没有太大帮助,因为此选项将忽略所有现有作业的更改。

解决方法

在管道中,您可以执行以下操作

def changedFiles = script returnStdout: true,script: "git diff ^HEAD --name-only"
changedFiles.each{
    jobDSL ...
}