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

Joe*_*g S 7 jenkins jenkins-pipeline multibranch-pipeline

当前,我们在一个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
Run Code Online (Sandbox Code Playgroud)

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

Will remove freeDiskSpaceHack
Will remove foo
Run Code Online (Sandbox Code Playgroud)
  • 对于这两个实例,我们使用相同的Jenkins版本(2.212.2)和插件版本。
  • 两个实例中的作业对Bitbucket分支源插件使用相同的设置:

分支源插件设置

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

除此之外,没有区别。

我的问题是:

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

希望任何人都有头绪。

Joe*_*g S 14

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

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

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

孤品策略(看起来如何)

在此处输入图片说明

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

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

在此处输入图片说明