gitlab数据迁移和升级.md
我们的gitlab是古老的gitlab 7.6 开发人员想使用新功能,记录了下升级过程。
一、gitlab备份数据
gitlab-rakegitlab:backup:create
默认备份目录是/var/opt/gitlab/backups,可以在gitlab.rb中修改。
二、gitlab恢复数据
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
#@不要全停,数据库得启动着
gitlab-rake gitlab:backup:restore BACKUP=1557685869
#@恢复时,不要指全名,只写时间戳部分
gitlab-ctl reconfigure
注意:恢复数据时,gitlab版本必须和备份时的版本一致,要不然无法恢复。
三、版本升级
gitlab版本升级时,唯一需要注意的就是逐个大版本升级,如下
3.1 升级到gitlab-ce-7.12.2~omnibus
yum localinstall gitlab-ce-7.12.2~omnibus.1-1.x86_64.rpm
sudo ln -sf /opt/gitlab/bin/gitlab-ctl /opt/gitlab/bin/gitlab-rake /opt/gitlab/bin/gitlab-rails /opt/gitlab/bin/gitlab-ci-rake /opt/gitlab/bin/gitlab-ci-rails /usr/bin/
gitlab-ctl reconfigure
#@如果报500错误,执行下下面的语句
gitlab-rake db:migrate
gitlab-ctl restart
3.2 升级到8版本
yum localinstall gitlab-ce-8.10.0-ce.1.el7.x86_64.rpm
yum localinstall gitlab-ce-8.17.7-ce.0.el7.x86_64.rpm
3.3 升级到9、10版本
9版本和10版本只是一个中间版本,但是也绕不过去,9-10版本的最大变更是PostgreSQL版本的升级。
yum localinstall gitlab-ce-9.5.10-ce.0.el7.x86_64.rpm
yum localinstall gitlab-ce-10.8.7-ce.0.el7.x86_64.rpm
3.4 继续升级
到现在gitlab的版本已经基本跟上官方进度了,大家可以根据自己的需求进行升级,建议半年到一年升级一次。
yum localinstall gitlab-ce-11.10.4-ce.0.el7.x86_64.rpm
官方最新公布的升级路径:
8.11.Z -> 8.12.0 -> 8.17.7
-> 9.5.10
-> 10.8.7
-> 11.11.8
-> 12.0.12 -> 12.1.17 -> 12.10.14
-> 13.0.14 -> 13.1.11 -> 13.8.8 -> 13.12.15
-> 14.0.12 -> 14.3.6 -> 14.9.5 -> 14.10.Z
-> 15.0.Z -> latest 15.Y.Z
四、升级失败的回退
gitlab-ctl stop 停止所有服务
#gitlab-ctl cleanse #保留数据不执行该命令
gitlab-ctl uninstall
#rm -rf /opt/gitlab #保留数据不执行该命令
yum remove gitlab-ce
yum install gitlab-ce-old
参考资料
https://docs.gitlab.com/omnibus/update/
https://docs.gitlab.com/ee/update/index.html#upgrade-paths
转载请注明:IPCPU-网络之路 » gitlab数据迁移和升级