Gitlab数据迁移
前言
Gitlab可以说是互联网公司的命脉,故作为 "保境安民" 的具有忧患意识的运维童鞋,对其涉及的操作包括对现有的Gitlab做备份及数据迁移等操作。
以下将基于Gitlab部署好的情况下,对Gitlab数据迁移进行操作说明。
Gitlab部署参考: https://www.cnblogs.com/kazihuo/p/10768487.html
操作
# 说明
新服务器上的Gitlab版本必须与备份源Gitlab版本号相同。
若新服务器安装的版本高于源服务器,可考虑先将源服务器的数据进行备份后将其升级到相同版本后进行数据迁移;
或者在部署新Gitlab时,将其版本号与源服务器的Gitlab版本号保持一致性即可!
# 步骤
# 源服务器数据备份操作
# 数据全备(默认存放路径/var/opt/gitlab/backups)
[root@kazihuo ~]# gitlab-rake gitlab:backup:create
说明:红字部分表示 gitlab.rb 和 gitlab-secrets.json 两个文件包含敏感信息。未被备份到备份文件中。需要手动备份。
[root@kazihuo ~]# ls /var/opt/gitlab/backups
1562858303_2019_07_11_11.9.1_gitlab_backup.tar
说明:2019_07_11是备份日期,11.9.1是Gitlab版本号!
# 将备份数据传到新服务器
[root@kazihuo ~]# rsync -ar /var/opt/gitlab/backups/1562858303_2019_07_11_11.9.1_gitlab_backup.tar root@kazihuo1:/var/opt/gitlab/backups/
### 说明:备份数据需放到指定的gitlab存储目录(配置文件中可查看,默认是/var/opt/gitlab/backups/)!
# 新服务器数据导入操作
# 停止相关数据连接服务
[root@kazihuo1 ~]# gitlab-ctl stop unicorn
[root@kazihuo1 ~]# gitlab-ctl stop sidekiq
# 数据导入(执行过程中有两次信息交互,输入yes即可)
[root@kazihuo1 ~]# gitlab-rake gitlab:backup:restore BACKUP=1562858303_2019_07_11_11.9.1
说明:
备份tar包一定要放到备份路径下。恢复是删除原有数据,恢复备份tar包中的数据。
如果是在其他服务器恢复备份,一定要记得将 gitlab.rb 和 gitlab-secrets.json 手动复制到相应路径下。
gitlab.rb路径:/etc/gitlab/gitlab.rb
gitlab-secrets.json路径:/etc/gitlab/gitlab-secrets.json
# 重新加载配置信息启动
[root@kazihuo1 ~]# gitlab-ctl reconfigure
[root@kazihuo1 ~]# gitlab-ctl restart
# 操作完成后登陆Gitlab页面即可看到相应的数据信息!
报错
# 502异常
导致出现502报错信息的原因如下:
1)内存不足;
2)端口占用;
故新Gitlab环境最好采用新服务器专供Gitlab使用,避免产生端口占用的问题。若出现其问题,也可通过修改其配置文件(/etc/gitlab/gitlab.rb)的端口后重启操作,将其解决!
========================================
转载请保留此段声明,且在文章页面明显位置给出原文链接,谢谢!
==============================================================================
^_^ 如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,您的“推荐”将是我最大的写作动力 ^_^
==============================================================================