繁体   English   中英

如何在不运行的情况下备份gitlab?

[英]How to make backup of gitlab without running?

我使用了gitlab omnibus安装版本,但是我的电脑坏了,所以现在无法启动我的电脑。 因此,我无法运行gitlab,而不得不从这种情况下进行备份。 从Gitlab文档中,可以找到如何在gitlab运行状态下进行备份的描述,但没有任何描述方式可以在未运行状态下进行备份。 https://docs.gitlab.com/ee/raketasks/backup_restore.html

该存储库已经备份,我真正想要备份的是有关gitlab支持功能(例如问题,合并请求等)的方法,该怎么办?

如果可能的话,您需要备份由GitLab多功能映像映像装载的数据,并将该数据复制到工作的PC上,以便在那里运行GitLab。

在新工作站上运行了GitLab之后,您可以在那里进行备份。

这是我的回答。

如果不运行gitlab,则无法进行备份,因为所有数据库数据都与progresql相关。

因此,我在PC上的docker中安装了另一个gitlab,并将所有内容附加到它上(配置,存储库,数据库数据)

以下是我所做的

  1. 在docker上安装gitlab(必须安装与原始版本匹配的特定版本) https://docs.gitlab.com/omnibus/docker/

  2. 修改Docker运行脚本以将原始数据连接到Docker中的gitlab。

    例如)

    sudo docker run --detach \\ --hostname gitlab.example.com \\ --publish 443:443 --publish 80:80 --publish 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:最新

  3. 在docker中运行gitlab

  4. 通过omnibus软件包安装的备份方法在docker中运行docker的备份https://docs.gitlab.com/ee/raketasks/backup_restore.html#restore-for-omnibus-installations

    例如)

    docker exec -t gitlab耙gitlab:backup:create

  5. 备份完成后,找到在

    例如)[USER_DIR] /etc/gitlab/gitlab.rb

我同意您的所有结论,即使可以作为解决方案。 这完全取决于您的设置,如果您在同一台计算机上拥有所有数据,则这是一个有改进空间的设置。

我自己的设置提供了外部PostgreSQL 9.x和Redis 5.x服务器。 外部服务器和Docker的好处使仅使用外部服务器和对Docker主机上的Docker卷的根访问权限即可进行备份/还原。 由于数据库是外部的,因此该解决方案涉及的步骤更少。

我已经做过很多次了,而且能奏效,但只有在知道自己在做什么的情况下,才应使用它。 某些部分与您发现的部分相同,例如重新安装相同的版本等。

我只是想指出,针对此问题存在多个解决方案。 但是,更有益的一件事是,如果Gitlab团队专注于PostgreSQL 11.x兼容性而不是10.x兼容性。 我已经从源代码中成功地测试了11.x,但是正在等待Gitlab团队发布。

我很高兴您成功了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM