使用gitlab-ce-12.x,Geo要求对存储路径进行散列(https://docs.gitlab.com/ee/administration/repository_storage_types.html)
对于给定的存储库,数据将因此存储在: “ @hashed /#{hash [0..1]} /#{hash [2..3]} /#{hash} .git”
从实际的角度来看,假设我有一个URL为
的存储库如何确定服务器上存储的路径? 即如何找到
的值
#{hash[0..1]}/#{hash[2..3]}/#{hash}
谢谢
答案 0 :(得分:2)
我找到了问题的答案。
要获取项目的哈希存储位置,首先需要获取项目存储库的项目ID。
获得该项目ID后,说您的项目ID为1, 您可以通过以下方式获得哈希值:
说project.id为1
echo -n 1 | sha256sum
=>您得到哈希 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
因此,存储库在服务器上的哈希存储位置将为:
server/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git
这已经由gitlab开发人员在 https://gitlab.com/gitlab-org/gitlab-ce/issues/63250