gitlab数据迁移

0x00 简介

最近由于服务器到期,需要把服务器上面Docker跑的gitlab迁移到另一台服务器上面。
本打算直接迁移挂载目录,然后再重新用Docker跑一遍。
然而最后发现,这样虽然数据全都迁移过来了,但是git的ssh协议无法使用,只能通过http来拉取代码。
虽然这样不影响使用,但是对自动化部署有一些影响,所以决定换种方法进行数据迁移。

0x01 迁移

数据备份
gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分(登陆用户的信息和代码), 其中开头的1393513186是备份创建的日期.

数据恢复

先停止相关数据的连接服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

将上面的压缩包,导入到新的gitlab的/var/opt/gitlab/backups目录下
从备份中恢复数据

gitlab-rake gitlab:backup:restore BACKUP=1393513186
## 1393513186为_gitlab_backup.tar前面的部分,写在BACKUP后面
启动gitlab
gitlab-ctl start

0x02 注意

备份恢复的时候需要和原来的gitlab版本一样

0x03 参考

https://www.cnblogs.com/yucongblog/p/6707306.html
posted @ 2020-08-23 17:03  she11s  阅读(329)  评论(0编辑  收藏  举报