当前,我们在一个Jenkins实例(生产性实例)中用于处理多分支测试工作的bitbucket分支源插件遇到了一些麻烦:

在詹金斯中,与已删除分支相关的所有作业都不会被删除。显示为禁用。

检查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版本(2.212.2)和插件版本。
两个实例中的作业对Bitbucket分支源插件使用相同的设置:


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


有一个区别:两个作业在bitbucket中使用不同的存储库;我们的测试实例(作业被删除)的一个是另一个实例的一个。


除此之外,没有区别。

我的问题是:


为什么它不适用于我们的生产实例?有什么秘密设置吗?
日志想告诉我什么:Will not remove <branch> because it is new


希望任何人都有头绪。

最佳答案

最终,我自己找到了隐藏的开关。但是,感觉有点愚蠢。

在作业配置中,您可以指定保留旧项目多长时间。最初设置这项工作时,我必须将此设置与告诉詹金斯保留旧版本多长时间的设置混合使用。因此设置为30天。

顺便说一句:各个分支保留的内部版本数不受此设置的影响:

孤品策略(看起来如何)

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

孤品策略(看起来应该是什么样)

但是,为了立即摆脱孤立的分支,一定不能在其中输入数字,例如:

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

关于jenkins - Jenkins多分支管道不会修剪已删除的分支,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51734259/

10-16 08:31