我使用了gitlab omnibus安装版本,但是我的电脑坏了,所以现在无法启动我的电脑。 因此,我无法运行gitlab,而不得不从这种情况下进行备份。 在Gitlab文档中,有描述如何在gitlab运行状态下进行备份,但是没有任何描述在不运行状态下进行备份的方法。 (https://docs.gitlab.com/ee/raketasks/backup_restore.html)
存储库已经备份,我真正想要备份的是有关gitlab支持功能(例如问题,合并请求等)的信息 该怎么办?
答案 0 :(得分:2)
如果可能,您需要备份GitLab多功能映像所装载的数据,然后将其复制到工作的PC上,以便在那里运行GitLab。
一旦您在新工作站上运行了GitLab,就可以在那里进行备份。
答案 1 :(得分:2)
这是我的答案。
如果不运行gitlab,就无法进行备份,因为所有数据库数据都与progresql相关。
因此,我在PC上的docker中安装了另一个gitlab,并将所有内容附加到它上(配置,存储库,数据库数据)
下面是我所做的
在docker上安装gitlab(必须安装与原始版本匹配的特定版本) https://docs.gitlab.com/omnibus/docker/
修改docker run脚本以将原始数据连接到docker中的gitlab。
例如)
sudo docker run --detach \ --hostname gitlab.example.com \ -发布443:443-发布80:80-发布22:22 \ --name gitlab \ -总是重启 --volume [USER_DIR] / gitlab / config:/ etc / gitlab \ --volume [USER_DIR] / gitlab / logs:/ var / log / gitlab \ --volume [USER_DIR] / gitlab / data:/ var / opt / gitlab \ gitlab / gitlab-ce:latest
在docker中运行gitlab
通过omnibus软件包安装的备份方法在docker中运行备份 https://docs.gitlab.com/ee/raketasks/backup_restore.html#restore-for-omnibus-installations
例如)
docker exec -t gitlab-rake gitlab:backup:create
完成备份后,找到在
中指定的备份文件例如) [USER_DIR] /etc/gitlab/gitlab.rb
答案 2 :(得分:0)
即使您认为结论可以解决,我也不同意您的所有结论。这完全取决于您的设置,如果您在同一台计算机上拥有所有数据,那么这是一个仍有改进空间的设置。
我自己的设置提供了外部PostgreSQL 9.x和Redis 5.x服务器。外部服务器和Docker的好处使仅使用外部服务器和对Docker主机上的Docker卷的根访问权限即可进行备份/还原。由于数据库是外部的,因此该解决方案涉及的步骤更少。
我已经做过很多次了,并且可以使用,但是只有在您知道自己在做什么的情况下才应使用。某些部分与您发现的部分相同,例如重新安装相同的版本等。
我只想指出这个问题存在多个解决方案。但是,更有益的一件事是,如果Gitlab团队专注于PostgreSQL 11.x兼容性而不是10.x兼容性。我已经从源代码中成功构建了11.x版本,但正在等待Gitlab团队发布。
很高兴您成功了!