gitlab 迁移 备份
一、基本步骤
使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份:
gitlab-rake gitlab:backup:create
使用以上命令会在/var/opt/gitlab/backups
目录下创建一个名称类似为1393513186_gitlab_backup.tar
的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186
是备份创建的日期.
你也可以通过修改/etc/gitlab/gitlab.rb
来修改默认存放备份文件的目录:
gitlab_rails[‘backup_path‘] = ‘/mnt/backups‘
/mnt/backups
修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure
命令重载配置文件即可.
也可以通过crontab
使用备份命令实现自动备份:
sudo su - crontab -e
加入以下, 实现每天凌晨2点进行一次自动备份:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
同样, Gitlab的从备份恢复也非常简单:
# 停止相关数据连接服务 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq # 从1393513186编号备份中恢复 gitlab-rake gitlab:backup:restore BACKUP=1393513186
迁移和恢复过程一样,但是有一些注意事项
1. 迁移的新 Gitlab 版本必须和原版一样
2.迁移是将 Gitlab 备份的名称类似为1393513186_gitlab_backup.tar
的压缩包 拷贝到新的服务器 Gitlab 备份的目录下
执行 Gitlab 恢复同样的操作即可
二、迁移过程中遇到几处错误
1. 迁移不成功,无法打开 Gitlab 登录首页,出点 502 错误码
错误分析:
执行:sudo gitlab-rake gitlab:check SANITIZE=true
出现如下错误:
2016-06-15_08:41:41.23074 /opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:274:in `require‘: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found (required by /opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/charlock_holmes-0.7.3/lib/charlock_holmes/charlock_holmes.so) - /opt/gitlab/embedded/service/gem/ruby/2.1.0/gems/charlock_holmes-0.7.3/lib/charlock_holmes/charlock_holmes.so (LoadError)
错误解决办法:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update
sudo apt-get install g++-5
2. 迁移后个别项目无法访问,网页出现 500 错误码
错误解决办法:
将 老的 Gitlab 上 /etc/gitlab/gitlab-secrets.json 文件中
"db_key_base": "0707b0385c25ca3d9bf56ab9153c86593dd03897777dead5df793bdf67f678577f8543e8ef31c9c6f1651d14237283aa61ccb5859e53cb791bff2daaa0c47f4c"
字段覆盖的新的 Gitlab 对应的位置,重启 Gitlab问题 解决。
3. 老的 Gitlab 做了汉化,备份迁移过来没有汉化,可以自行重新汉化,这并不影响使用。
4.runner 由于 ip 地址以及域名等问题 无法正常使用需要再配置一次。
参考文献
官方文档:http://docs.gitlab.com/ce/raketasks/backup_restore.html
使用Gitlab一键安装包后的日常备份恢复与迁移 :https://segmentfault.com/a/1190000002439923
ubuntu 安装 gcc 5.1 :http://askubuntu.com/questions/618474/how-to-install-the-latest-gcurrently-5-1-in-ubuntucurrently-14-04
迁移后项目无法访问报错解决办法:https://gitlab.com/gitlab-org/gitlab-ce/issues/17873
原文地址:http://8833081.blog.51cto.com/8823081/1789774