将Gitlab存储库复制到另一个Gitlab服务器抛出文件系统

时间:2019-06-27 10:38:51

标签: linux git gitlab gitlab-ci

我有一个7.6.2版的gitlab服务器,其中包含一些存储库。现在,此服务器已由最新的Ubuntu升级,并且具有空的gitlab服务器,版本为12.0.1。我还从旧的gitlab服务器上备份了硬盘。

我需要将所有存储库从旧的gitlab服务器移至新的。我试图将.git的存储库从/var/opt/gitlab/repositories/user/复制到具有禁用的哈希存储库存储的新服务器的类似位置,但是没有任何效果。

我还尝试用例如创建一个空的存储库。从旧目录中的目录中命名test并从新目录中替换新服务器上的test.git目录,但没有任何效果。

我试图在整个服务器文件系统中通过test.txt命令从名为find的测试存储库中找到文件,但是没有找到这样的文件(但是该文件存在于{{1}中) }存储库。

我的问题是:gitlab服务器的存储库存储在哪里,如何将其从旧服务器HDD的备份复制到新服务器文件系统(我不能同时运行gitlab的两个实例,因为我只有一台机器。出于某些原因,也无法将旧服务器作为虚拟机的rootfs运行备份。

已更新。 它不是this question的副本,因为我没有由gitlab制造的旧gitlab服务器的备份,我只有安装它的计算机文件系统的备份。我也无法运行旧服务器来拉存储库,因为其计算机已升级。我只有旧服务器上的东西:它的文件系统。

2 个答案:

答案 0 :(得分:2)

如果您只需要迁移存储库(即,没有问题,管道等),最好克隆每个存储库并再次上传(逐个或使用批处理命令):

cd /var/opt/gitlab/repositories/...
git remote add newserver url
git push --all newserver url

相反,如果您需要迁移所有功能,则最好还原服务器备份并就地升级OS和Gitlab ...即使距离7到12之间很长,您可能需要采取多个步骤。

答案 1 :(得分:0)

小心,这可能会导致严重损坏,请在临时系统上进行试验。

git仓库应该是相同的,所以我会尝试将内容复制过来。用户信息和辅助内容可能有所不同。

另一种方法是设置旧系统,然后升级该系统。如果需要,逐个版本。

最后的办法是克隆旧存储库,并将其上传到新系统中。