代码之家  ›  专栏  ›  技术社区  ›  Joerg S

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

  •  2
  • Joerg S  · 技术社区  · 8 年前

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

    Branch source plugin settings

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

    除此之外没有区别。

    我的问题是:

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

    希望每个人都有线索。

    1 回复  |  直到 8 年前
        1
  •  15
  •   Pino    7 年前

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

    在作业配置中,您可以指定保留多长时间 旧项目 . 在开始设置这个工作的时候,我一定把这个设置和告诉詹金斯要保留多久的设置弄混了 旧版本 . 所以设定为30天。

    顺便说一下:为各个分支保留的生成数不受此设置的影响…:

    孤立项策略(外观)

    enter image description here

    孤立项策略(应该是什么样子)

    但是,要立即清除孤立的分支,不能在那里输入数字,例如:

    enter image description here