Jenkins共享groovy库git合并触发作业



我在管道中使用共享的groovy库。我发现,当我合并到我的库时,会触发使用该库的作业的子集(但不是全部)。

我已经查看了共享库配置,并验证了"在作业最近的更改中包含@library更改"是否未选中。我梳理了日志,寻找线索,发现合并会触发看似随机的作业,但我无法确定这些特定作业运行的原因。

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

我使用的是groovy库插件的Jenkins 2.82和2.9https://wiki.jenkins.io/display/JENKINS/Pipeline+Shared+Groovy+Libraries+Plugin

进一步信息:如果我删除了由共享库触发的作业之一,并重新创建它,那么在合并共享库时,它将不再重建。在旧的config.xml和新的config.xml上运行差异并没有起到很大的作用。工作流作业@$id和其他插件版本发生了变化,但这似乎无关。

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

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

共享库插件工作流cps全局库在2.9:版本中对此进行了修复

JENKINS-41497-允许从变更日志中排除共享库(和因此也来自SCM轮询)和/或@Library(value="some-lib@master",changelog=false)。

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

最新更新