首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GitLab CE:如何恢复或修复突然丢失的问题/合并请求的repos?

GitLab CE:如何恢复或修复突然丢失的问题/合并请求的repos?
EN

Stack Overflow用户
提问于 2020-10-02 19:16:48
回答 1查看 3.1K关注 0票数 3

大约两年前,我开始在本地的GitLab Debian中运行x86 CE,去年我决定将GitLab CE实例迁移到专用的Intel服务器上。一切看起来都很顺利,没有任何问题,而且我的GitLab CE实例到今天为止是最新的(运行13.4.2)。

不过,我最近发现,一些被移动的repos给出了一个“没有存储库!”访问他们的项目页面时出错,如果他们有任何问题板,合并请求等,这些请求也消失了。但是你不会怀疑它,因为坏的回复会出现在回购列表中,以及我一直在使用的工作回复。

如果我不得不对这些失败的回复进行推理的话,那就是他们在一年多前的最后一次活动,除了最初的推动之外,没有任何其他的推动,或者如果做出了改变,创建了问题,或者创建了合并请求,这实际上是一年前的事了。

这些坏掉的repos中有一些与历史相当大,而另一些则非常小(实际上只是跟踪shell脚本的更改),所以我不认为回购规模本身与它有任何关系。

如果我运行GitLab诊断检查sudo gitlab-rake gitlab:check,除了“散列存储”之外,一切看起来都很好:

代码语言:javascript
运行
复制
All projects are in hashed storage? ... no
  Try fixing it:
  Please migrate all projects to hashed storage

但是,运行sudo gitlab-rake gitlab:storage:migrate_to_hashed似乎没有完成(仪表板中有6个失败的作业),运行"gitlab:check“仍然表明存在”散列存储“问题。我也尝试过运行sudo gitlab-rake gitlab:git:fscksudo gitlab-rake cache:clear,但是这些命令似乎没有什么区别。

幸运的是,我的机器上有所有丢失的repos的最新版本,实际上,我的原始VM仍然运行着GitLab CE 12.8.5 (有些过时的repos副本)。

所以我的问题是:

  1. 是否有可能在我当前的实例中“修复”坏掉的回复?我怀疑我可以将这些回复的本地副本“重新推送”到我的服务器上,但是我真的不想丢失任何元数据,比如问题/合并请求等等。
  2. 有没有办法解决“并非所有项目都在散列存储”的问题?(同样,migrate_to_hashed任务无法完成。)
  3. 我能做一些诸如“备份”、“检查/调整备份”、“恢复备份”之类的事情来修复坏掉的repos,或者至少修复元数据吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-03 04:06:51

好吧,我想我知道发生了什么。

我在这条线上发现了GitLab用户论坛

显然,这里的情况是:

  1. 有一个GitLab实例,该实例在“哈希存储”中具有repos 而不是
  2. 备份你的回购
  3. 恢复您的回购(要么到同一服务器,要么迁移到另一个服务器)
  4. 自动或手动地尝试将您的回复更新为“散列存储”。
  5. 您现在会发现,任何带有"ci runner“(连续集成运行程序)的回购程序现在都将被列为”无存储库!“并且完全不可用,因为“哈希存储”迁移过程将失败。

解决办法是:

  1. 重置运行程序注册令牌,如这篇文章文档中所列
  2. 重新运行sudo gitlab-rake gitlab:storage:migrate_to_hashed进程
  3. 完成后台作业后,运行sudo gitlab-rake gitlab:check以确保输出包含消息:
代码语言:javascript
运行
复制
All projects are in hashed storage? ... yes

如果成功,说明“没有存储库”的项目!现在应该完全恢复。

要知道是否需要运行此进程,关键在于:

  1. 以管理员身份登录到GitLab CE实例
  2. 到行政区域去
  3. 查看监控->背景作业->死亡
  4. 看到一份有这个名字的工作
代码语言:javascript
运行
复制
hashed_storage:hashed_storage_project_migrate

有错误

代码语言:javascript
运行
复制
OpenSSL::Cipher::CipherError:
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64177125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档