GitLab迁移

写该文时,已经迁移成功,中途出现的问题没有截图,就用文字描述吧。

把Docker安装部署的GitLab,迁移到另外一台机器。

第一次的做法是把数据目录打包,然后放到新机器上,运行失败。提示没有权限。

找到一个相似的问题,https://www.oschina.net/question/2607587_2274426,评论中给出的方法,运行:

docker exec -it gitlab update-permissions  
docker restart gitlab

虽然能启动成功,但是登录报错,代码503。

执行 gitlab-ctl reconfigure ,依然不能登录。

于是打算使用GitLab自带的备份恢复。

启动旧机器上GitLab,连接容器:

docker exec -it gitlab bash

执行:

gitlab-rake gitlab:backup:create

可以看到GitLab自动在数据目录生成备份文件:1562636167_2019_07_09_12.0.3_gitlab_backup.tar

把备份文件上传到新机器上GitLab数据目录,backups下,在新机器执行:

docker exec -it gitlab bash

# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 从备份文件中恢复,注意文件名是的"_gitlab_backup.tar"不需要
gitlab-rake gitlab:backup:restore BACKUP=1562636167_2019_07_09_12.0.3

# 启动服务
gitlab-ctl start

恢复时会有两个确认对话,意思是会删除原有数据库和是否保存原来的密钥,输入”yes”覆盖,继续执行就好。

再次登录,成功!

留下评论

电子邮件地址不会被公开。