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

时间:2018-08-07 19:38:13

标签: jenkins jenkins-pipeline multibranch-pipeline

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

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

Branch source plugin settings

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

除了没有区别。

我的问题是:

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

希望任何人都有头绪。

1 个答案:

答案 0 :(得分:7)

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

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

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

孤立物品策略(看起来如何)

enter image description here

孤立物品策略(看起来应该是这样)

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

enter image description here