“Gitlab返回”;“无存储库”;即使存储库存在于git_data_dirs路径中 总结

“Gitlab返回”;“无存储库”;即使存储库存在于git_data_dirs路径中 总结,gitlab,gitlab-omnibus,Gitlab,Gitlab Omnibus,备份和迁移后,某些存储库在web控制台中返回“无存储库”错误,因此无法克隆。验证存储库是否存在于git_data_dirs文件夹中指定的位置 作为测试,我可以直接从存储库/文件夹克隆“No repository”项目,因此repo本身似乎没有什么问题 复制步骤 不确定如何复制,但以下是我所经历的步骤: 主服务器上的备份项目 在新服务器上还原tarball 转到新服务器的web仪表板中的项目路径,并获取“无存储库” 我为诊断问题所采取的步骤。假设项目名为myapp/myapp.foo.git:

备份和迁移后,某些存储库在web控制台中返回“无存储库”错误,因此无法克隆。验证存储库是否存在于git_data_dirs文件夹中指定的位置

作为测试,我可以直接从存储库/文件夹克隆“No repository”项目,因此repo本身似乎没有什么问题

复制步骤 不确定如何复制,但以下是我所经历的步骤:

  • 主服务器上的备份项目
  • 在新服务器上还原tarball
  • 转到新服务器的web仪表板中的项目路径,并获取“无存储库”
我为诊断问题所采取的步骤。假设项目名为myapp/myapp.foo.git:

  • 获取“无存储库”
  • 查看/etc/gitlab/gitlab.rb中的git_data_dirs:

    吉特数据目录({ “default”:{“path”:“/var/opt/gitlab/git data”}, “思洛存储器”:{“路径”:“/mnt/reposbackup/git data”} })

  • 请注意,我的项目在以下两个文件夹中都可用:/var/opt/gitlab/git data/repositories/myapp/myapp.foo.git和/mnt/reposbackup/git data/repositories/myapp/myapp.foo.git

  • 尝试重新启动服务器-结果相同
  • 尝试sudo gitlab ctl重新配置-结果相同
  • 尝试重新启动runsv服务:sudo systemctl restart gitlab runsvdir-结果相同
我还查看了数据库和“projects.repository\u storage”值似乎是正确的。即使将其更改为“默认”与“思洛存储器”(这是我的备用目录)似乎也不起作用

我试图理解gitlab是如何确定存储库的位置的,因为检查repo路径似乎是失败的

解决方案
迁移完成后,运行sudo gitlab rake cache:clear。

您可能需要清除Redis缓存。尝试运行以下命令:

sudo gitlab-rake cache:clear
Rake是一个一般性的维护命令,很少有用户知道,因为如果您使用纯云产品,您永远不会需要它。它实际上只适用于内部部署产品

有时,问题纯粹是网络连接问题。您还可以使用rake检查:

sudo gitlab-rake gitlab:tcp_check[ibm.com,80]

如果您使用的是docker compose或docker run,请检查gitlab存储库目录是否具有正确的权限

在我的例子中,容器内部/var/opt/gitlab/git data/repositories/user/my_repos没有正确的权限(出于某种原因,我忽略了)。为了解决这个问题,我不得不改变repos目录的所有权

即使您没有使用docker,存储库目录上的权限问题也可能解释“无存储库”错误


希望这能有帮助

我不想回答我自己的问题,但我在尝试了所有方法后才找到这篇文章:。看来修复方法是运行
sudogitlab rake缓存:clear
。这可能应该记录在某个地方!thx man,救了我。不幸的是,出于某些原因,这对我不起作用。请问,在您的anwser中,“ibm.com”代表什么?在这种情况下,我只是在执行ping,我需要一个可靠的IP地址才能命中。我总是ping ibm.com,因为我知道它们可能会启动并运行。你可以使用任何你知道会可靠响应ping的站点。