我正在管道中使用共享的groovy库。我发现,当我合并到我的库时,会触发使用该库的一部分作业(但不是全部)。
我查看了共享库配置,并验证了“在工作最近更改中包含@Library更改”未已选中。我已经梳理了日志,寻找线索,我发现看似随机的工作被合并触发,但我无法确定为什么这些特定的工作会被运行。
我目前的想法是/ github-webhook /只是触发了太多的工作。
我正在使用Jenkins 2.82和2.9的groovy库插件 https://wiki.jenkins.io/display/JENKINS/Pipeline+Shared+Groovy+Libraries+Plugin
更多信息: 如果我删除了共享库触发的其中一个作业,并重新创建它,那么在合并共享库时它将不再重建。在旧的config.xml上运行diff与新的一个差异并没有帮助。工作流作业@ $ id和其他插件版本发生了变化,但这似乎无关。
答案 0 :(得分:0)
我有你在问题中描述的完全相同的行为。就我而言,禁用和启用所有作业可以解决此问题。在"脚本控制台":
上运行以下代码for (item in Jenkins.instance.items) {
item.disabled = true
item.save()
item.disabled = false
item.save()
}
答案 1 :(得分:0)
共享库插件workflow-cps-global-lib在2.9版本中对此进行了修复:
JENKINS-41497 - 允许从更改日志中排除共享库(和 因此,通过全局配置选项从SCM轮询) 和/或@Library(值=" some-lib @ master",changelog = false)。
只需在库或管道级别配置它即可禁用此行为。