Jenkins共享groovy库git合并触发作业
我正在管道中使用共享groovy库。我发现,当我合并到我的库时,使用库的作业的子集(但不是全部)被触发 我查看了共享库配置,并验证了“在作业最近的更改中包含@library更改”未选中。我梳理了日志,寻找线索,我发现合并会触发看似随机的作业,但我无法确定这些特定作业为何会运行 我目前的想法是/github-webhook/只是触发了太多的工作 我正在使用groovy库插件的Jenkins 2.82和2.9 进一步资料:Jenkins共享groovy库git合并触发作业,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,我正在管道中使用共享groovy库。我发现,当我合并到我的库时,使用库的作业的子集(但不是全部)被触发 我查看了共享库配置,并验证了“在作业最近的更改中包含@library更改”未选中。我梳理了日志,寻找线索,我发现合并会触发看似随机的作业,但我无法确定这些特定作业为何会运行 我目前的想法是/github-webhook/只是触发了太多的工作 我正在使用groovy库插件的Jenkins 2.82和2.9 进一步资料: 如果删除共享库触发的其中一个作业并重新创建它,则在合并共享库时它将不再重建
如果删除共享库触发的其中一个作业并重新创建它,则在合并共享库时它将不再重建。在旧的config.xml和新的config.xml上运行差异并没有多大帮助。工作流作业@$id和其他插件版本发生变化,但这似乎无关。我的行为与您在问题中描述的完全相同。在我的例子中,禁用和启用所有作业修复了此问题。在“脚本控制台”上运行以下代码:
共享库插件在2.9版中对此进行了修复: -允许从变更日志中排除共享库(以及 因此,也可以通过全局配置选项从SCM轮询 和/或@Library(value=“some-lib@master,changelog=false) 只需在库或管道级别配置它即可禁用此行为
for (item in Jenkins.instance.items) {
item.disabled = true
item.save()
item.disabled = false
item.save()
}