温馨提示×

linux gitlab如何清理缓存

小樊
43
2026-08-13 08:27:50
栏目: 智能运维

Linux 上清理 GitLab 缓存,需要根据你指的是哪一类“缓存”来处理。下面按常见场景分类说明,并给出安全可操作的命令


一、清理 GitLab Runner 缓存(最常见)

1️⃣ 查看 Runner 缓存目录

默认路径:

/var/cache/gitlab-runner

或查看配置:

gitlab-runner list

2️⃣ 清理 Runner 缓存(推荐方式)

✅ 使用 gitlab-runner 命令

gitlab-runner cache-archiver --delete

或清理指定 Runner:

gitlab-runner cache-archiver --delete --url https://gitlab.example.com --token xxx

3️⃣ 手动删除 Runner 缓存目录

sudo rm -rf /var/cache/gitlab-runner/*

⚠️ 不会影响正在运行的 Job,但下次 Job 会重新拉缓存。


二、清理 GitLab CI 构建缓存(项目级)

1️⃣ 在 .gitlab-ci.yml 中清理

cache:
  paths:
    - node_modules/

手动清除:

  • 进入项目
  • Settings → CI/CD → Caches
  • 点击 Clear Runner Caches

三、清理 GitLab 仓库对象缓存(Git 仓库)

1️⃣ 清理 Git 仓库松散对象

sudo gitlab-rake gitlab:cleanup:repo_check

或:

sudo gitlab-rake gitlab:git:cleanup

2️⃣ 清理 GitLab 内部仓库缓存

sudo gitlab-rake cache:clear

四、清理 GitLab 应用缓存(Rails cache)

✅ 最常用、最安全

sudo gitlab-rake cache:clear

作用:

  • 清除 Redis 中的 Rails 缓存
  • 不影响数据,只清临时缓存

五、清理 Redis 缓存(进阶)

⚠️ 谨慎操作

sudo gitlab-ctl stop
sudo redis-cli FLUSHDB
sudo gitlab-ctl start

或更安全:

sudo gitlab-ctl restart redis

六、清理 Docker / 构建缓存(如果 Runner 使用 Docker)

1️⃣ 清理 Docker 构建缓存

docker builder prune -a

2️⃣ 清理 unused 容器、镜像

docker system prune -a

七、清理 GitLab 日志 & 临时文件(磁盘占用高)

1️⃣ 清理日志

sudo gitlab-ctl cleanse

⚠️ 会删除日志,不影响数据


2️⃣ 清理 tmp 目录

sudo rm -rf /var/opt/gitlab/tmp/*

八、推荐的安全清理顺序 ✅

sudo gitlab-rake cache:clear
sudo gitlab-ctl restart
sudo rm -rf /var/cache/gitlab-runner/*

九、如何确认是哪种缓存?

你可以告诉我:

  • ✅ GitLab 是 Omnibus / Docker / Kubernetes 安装?
  • ✅ 指的是 Runner / CI / 仓库 / Redis / 磁盘占用
  • ✅ 报错信息或 df -h 磁盘情况

我可以给你精确到命令级别的方案。

0