linux

GitLab 项目未通过最后一次存储库检查

最近从我们的 gitlab 实例收到了一封电子邮件警报

GitLab Admin | One project failed its last repository check
One project failed its last repository check.
See the affected projects in the GitLab admin panel
You are receiving this message because you are a GitLab administrator for …

第一步

在 GitLab 管理面板中查看受影响的项目
方式1:点击邮件上链接“See the affected projects in the GitLab admin panel
方式2:直接访问http://yourgitlab_link/admin/projects?last_repository_check_failed=1

第二步

检查触发存储库检查时生成的日志

/var/log/gitlab/gitlab-rails/repocheck.log

如果文件为空,则再次手动触发存储库检查(触发按钮在项目管理区域中)

第三步

打开存储库检查异常的项目 Menu->Admin->Projects->your project

找到参数 Gitaly relative path,并记录对应的值@hashed/../../….git

第四步

登录gitlab所在服务器手动触发存储库检查

/opt/gitlab/embedded/bin/git  -C  /var/opt/gitlab/git-data/repositories/@hashed/48/b3/48b361d46638bfa4eee090c158a750a69c7beec3a62e703e2801125551b1b157.git  fsck

检查是否有任何错误,例如:

  • error: Could not read 098b53ffbe581e25b…
  • failed to parse commit 098b53ffbe581e25b… from object database for commit-graph

备注:@hashed/48/b3/48b361d46638bfa4eee090c158a750a69c7beec3a62e703e2801125551b1b157.git 换成第三步获取到的值

第五步

运行垃圾收集器gc

/opt/gitlab/embedded/bin/git -C /var/opt/gitlab/git-data/repositories/@hashed/48/b3/48b361d46638bfa4eee090c158a750a69c7beec3a62e703e2801125551b1b157.git gc

第六步

使用fsck再次检查存储库

/opt/gitlab/embedded/bin/git -C /var/opt/gitlab/git-data/repositories/@hashed/48/b3/48b361d46638bfa4eee090c158a750a69c7beec3a62e703e2801125551b1b157.git fsck

错误和失败应该被清除

第七步

控制面板再次运行存储库检查,查看是否成功通过。

留言

您的电子邮箱地址不会被公开。 必填项已用 * 标注