问题描述
我有一堆与我的Jenkins Jobs相对应的DSL脚本,这些脚本被放置在我的github仓库中。现在,每当我运行种子作业时,所有作业都会重新生成。有什么方法可以使Job-DSL插件仅重新生成具有更改的作业(在其DSL脚本中)。
我知道Job-DSL种子作业中“现有作业和视图的操作”选项的忽略操作。但这在这里没有太大帮助,因为此选项将忽略所有现有作业的更改。
解决方法
在管道中,您可以执行以下操作
def changedFiles = script returnStdout: true,script: "git diff ^HEAD --name-only"
changedFiles.each{
jobDSL ...
}