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

GitLab制品存储占用过高原因及清理方案咨询

GitLab.com制品存储占用过高问题排查与解决

核心问题原因

是,之前近一年勾选「Keep artifacts from most recent successful jobs」选项是导致存储占用过高的关键原因。这个选项会强制保留所有成功作业的制品,直接覆盖你设置的24小时过期规则——哪怕你定义了过期时间,只要开启这个选项,成功作业的制品就会被永久留存(直到手动删除)。一年下来,哪怕每天15条成功流水线,每条留存少量制品,积累起来也会达到4.5GB的规模。

手动浏览并删除制品的方法(GitLab.com)

你可以直接在Web界面操作,步骤如下:

  • 进入目标项目,点击左侧导航栏的 CI/CD > 制品:这里会展示所有当前留存的制品条目,包含作业状态、创建时间、制品大小等信息。你可以按「创建日期」倒序筛选,批量删除早期的成功作业制品。
  • 若需要更精准筛选,进入 CI/CD > 流水线,点击页面顶部的「筛选」按钮,选择「状态: 成功」,找到目标流水线后进入详情页,点击对应作业的「制品」标签,再点击「删除制品」按钮即可。

关于API操作的补充建议

如果之前的API脚本未生效,可能是以下原因:

  • 权限不足:确保调用API的账号拥有项目维护者及以上权限。
  • 筛选范围不全:可以调整API参数,专门定位被保留的成功作业制品。示例命令(需替换PROJECT_ID和PRIVATE_TOKEN):
    # 获取所有带制品的成功作业ID
    curl --header "PRIVATE-TOKEN: YOUR_PRIVATE_TOKEN" "https://gitlab.com/api/v4/projects/PROJECT_ID/jobs?scope=success&artifacts=true" | jq '.[] | .id'
    # 遍历删除每个作业的制品
    for job_id in $(curl --header "PRIVATE-TOKEN: YOUR_PRIVATE_TOKEN" "https://gitlab.com/api/v4/projects/PROJECT_ID/jobs?scope=success&artifacts=true" | jq -r '.[] | .id'); do
      curl --request DELETE --header "PRIVATE-TOKEN: YOUR_PRIVATE_TOKEN" "https://gitlab.com/api/v4/projects/PROJECT_ID/jobs/$job_id/artifacts"
    done
    

后续预防

现在你已经取消了「Keep artifacts from most recent successful jobs」选项,新的成功作业制品会按照24小时过期规则自动清理,不会再出现大规模积累的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:25:27