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
错误和失败应该被清除
第七步
控制面板再次运行存储库检查,查看是否成功通过。