You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins多分支流水线旧构建未删除问题求助

Troubleshooting "Discard Old Builds" Not Working in Jenkins Multibranch Pipeline (2.176.1)

我之前也碰到过多分支流水线里全局勾选「丢弃旧构建」但子分支任务不生效的情况,结合你的场景(Jenkins 2.176.1,多分支任务OC,子分支productconfigurator-ms/master的构建从541到1039全部保留在服务器路径jenkins@XXXXX:jenkins/jenkins-production/jobs/OC/jobs/productconfigurator-ms/branches/master/builds下),给你梳理下问题原因和解决办法:

核心原因

多分支流水线的全局「丢弃旧构建」设置不会自动继承给子分支任务——每个分支任务(比如productconfigurator-ms/master)是独立的Job,默认不会继承父多分支任务的构建保留规则,这是Jenkins多分支流水线的设计特性。

解决方案

1. 给子分支任务单独配置构建丢弃规则(临时应急)

如果需要快速解决当前文件系统问题,可以先手动给有问题的子分支任务配置:

  • 进入子分支任务的配置页(比如你的productconfigurator-ms/master任务配置页)
  • 找到「丢弃旧构建」选项,勾选后设置保留的构建数量/天数(比如保留最近10个构建,或保留7天内的构建)
  • 保存配置后,Jenkins会自动清理符合规则的旧构建

2. 通过Pipeline代码统一配置(长期方案)

更靠谱的方式是在你的Jenkinsfile里添加构建丢弃规则,这样所有分支都会自动应用,避免手动配置的麻烦:

pipeline {
    agent any
    options {
        // 保留最近10个构建,同时删除超过7天的旧构建
        buildDiscarder(logRotator(
            numToKeepStr: '10',
            daysToKeepStr: '7',
            artifactNumToKeepStr: '5', // 如果有构建产物,可设置保留的产物数量
            artifactDaysToKeepStr: '3'
        ))
    }
    stages {
        // 你的流水线阶段代码
        stage('Build') {
            steps {
                echo 'Building...'
            }
        }
    }
}

添加这段代码后,每个分支的流水线运行时都会自动应用这个构建清理规则,不用再手动配置每个子任务。

3. 批量清理已存在的旧构建(一次性操作)

如果服务器上已经堆积了大量旧构建(比如你这里的541到1039),可以用Jenkins的脚本控制台批量清理:

  • 进入Jenkins的「Manage Jenkins」 -> 「Script Console」
  • 执行以下Groovy脚本(替换成你的任务路径):
def job = Jenkins.instance.getItemByFullName("OC/productconfigurator-ms/master")
def buildsToKeep = 10 // 保留最近10个构建
job.getBuilds().drop(buildsToKeep).each { build ->
    build.delete()
    println "Deleted build #${build.number}"
}

运行后会自动删除指定数量之外的旧构建,注意:脚本执行前最好先备份Jenkins数据,避免误删。

额外注意事项

  • 确保Jenkins服务的jenkins用户对服务器上的构建存储路径(jenkins/jenkins-production/jobs/OC/jobs/productconfigurator-ms/branches/master/builds)有写入/删除权限
  • 如果你用了第三方插件管理构建保留(比如Job Configuration History),要确认插件不会阻止构建删除操作

内容的提问来源于stack exchange,提问作者arielma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 09:27:38