Jenkins共享groovy库git merge触发作业

问题描述:

我在我的管道中使用共享groovy库。我发现,当我合并到我的图书馆时,使用图书馆的一部分作业(但不是全部)正在被触发。Jenkins共享groovy库git merge触发作业

我查看了共享库配置并验证了“包括@Library更改作业最近的更改”是而不是已检查。我梳理了日志,寻找线索,我发现随着合并触发看似随机的工作,但我一直无法确定为什么这些特定的工作能够运行。

我目前的想法是/ github-webhook /只是触发了太多的工作。

我使用詹金斯2.82和常规库2.9插件 https://wiki.jenkins.io/display/JENKINS/Pipeline+Shared+Groovy+Libraries+Plugin

更多信息: 如果我删除,这是获得共享库引发的工作之一,并重新创建它,然后它会共享库合并时不再重新生成。在旧的config.xml上运行diff与新的diff不会有太大的帮助。工作流程作业@ $ id和其他插件版本会发生变化,但似乎无关。

我有你在你的问题中描述的完全相同的行为。在我的情况下,禁用和启用所有作业解决了这个问题。在“脚本控制台”运行下面的代码:

for (item in Jenkins.instance.items) { 
    item.disabled = true 
    item.save() 
    item.disabled = false 
    item.save() 
} 

共享库插件,workflow-cps-global-lib,有这样的修复在2.9版本:

JENKINS-41497 - 允许扣除从更新日志共享库(和因此也可以通过全局配置选项 和/或@Library(value =“some-lib @ master”,changelog = false)从SCM轮询获得)。

只需在库或管道级别配置它即可禁用此行为。