Jenkins 多分支管道不会修剪已删除的分支

Jenkins multibranch pipeline won't prune deleted branches

我们目前在使用 bitbucket 分支源插件时遇到一些问题,该插件用于在我们的一个 Jenkins 实例(生产实例)中处理多分支测试作业:

与已删除分支相关的任何作业都不会在 Jenkins 中被删除。是否显示为已禁用。

检查 Scan Multibranch Pipeline Log 我发现以下条目:

Will not remove foobranch because it is new
Will not remove PR-1 because it is new
Will not remove bar because it is new
Will not remove freeDiskSpaceHack because it is new

我们有另一个实例(测试实例),其中一切都按预期工作 - 分支立即被删除,例如在日志中看到以下内容:

Will remove freeDiskSpaceHack
Will remove foo

除此之外没有区别。

我的问题是:

希望有人知道。

终于我自己找到了隐藏的开关。不过感觉有点傻。

在作业配置中,您可以指定保留旧项目 的时间。最初设置此作业时,我必须将此设置与告诉 jenkins 保留多长时间的设置混淆 old builds。所以设置为30天。

顺便说一句:为各个分支保留的构建数量不受此设置的影响...:

孤立物品策略(它的样子)

孤立物品策略(它应该是什么样子的)

然而,要立即摆脱孤立的分支,不能在那里输入数字,例如:

如果 'Build discarder' 设置为保留旧版本 30 天,但分支不再活跃(因为它们已合并或关闭),孤儿记录会怎样?我目前在 'Orphaned Item Strategy'.

下 'Days to Keep Old items' 为空白(隐含 0)

通过上述设置,我没有看到记录被删除,即使 repo 扫描识别出它们要被删除。