一、说明
第一次升级后,升级到13.6.7后,就无法升级了,提示找不到包,然后去官网查看,发现是因为系统版本的原因,在用gitlab操作系统版本为CentOS 6.6,最高只能升级到13.6.7
二、初步想到的解决办法及一些尝试
1、升级系统版本到Centos 7
结果:失败,因为C6停止支持了,下载升级工具总是出错,这部分浪费了很多时间,最终还是放弃了
2、导出项目,然后再导入
结果:项目导出和导入耗时比较久,且权限、验证等需要重新配置,放弃
3、备份后升级
- 新装一台虚拟机,系统为Centos 7
- 安装gitlab 10.8.2版本
- 将在用gitlab使用官方方法备份,然后导入到新的服务器上
- 根据gitlab官方版本升级路线图,逐步升级
结果:初步测试可用,故采用此方案
三、查看当前gitlab版本
[root@localhost ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.8.2
四、安装CentOS 7.7
略
五、配置gitlab源
cat << EOF > /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/
repo_gpgcheck=0
gpgcheck=0
enable=1
gpgkey=https://packages.gitlab.com/gpg.key
EOF
六、安装gitlab 10.8.2
yum install -y gitlab-ce-10.8.7
七、gitlab备份,并传到新服务器上
- 老的gitlab停止数据写入,然后进行gitlab备份
[root@gitlab ~]# gitlab-ctl stop unicorn #停止相关数据连接服务
[root@gitlab ~]# gitlab-ctl stop sidekiq #
[root@gitlab ~]# gitlab-rake gitlab:backup:create
- 备份文件及配置文件上传到新的服务器上
[root@gitlab ~]#scp 备份文件 root@192.168.1.176:/home/
[root@gitlab ~]#scp /etc/gitlab/gitlab.rb root@192.168.1.176:/home/
[root@gitlab ~]#scp -r /var/opt/gitlab/nginx/conf root@192.168.1.176:/home/
[root@gitlab ~]#scp /etc/postfix/main.cfpostfix root@192.168.1.176:/home/
八、在新服务器上导入配置文件及备份文件
[root@gitlab ~]# gitlab-ctl stop unicorn
[root@gitlab ~]# gitlab-ctl stop sidekiq
[root@gitlab ~]# gitlab-rake gitlab:backup:restore BACKUP=备份文件名称
注意:恢复过程中会有两个询问的地方,输入yes并回车即可
九、恢复OK后,启动gitlab
[root@gitlab ~]# gitlab-ctl start #启动gitlab
十、查看版本及版本库是否有问题
[root@localhost ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.8.7
通过网页访问gitlab,检查配置及使用等无问题
十一、备份虚拟机
略
十二、按照gitlab官方升级路线图,一个版本一个版本升级
yum install -y gitlab-ce-10.8.7
yum install -y gitlab-ce-11.11.8
yum install -y gitlab-ce-12.0.12
yum install -y gitlab-ce-12.1.17
yum install -y gitlab-ce-12.10.14
yum install -y gitlab-ce-13.0.14
yum install -y gitlab-ce-13.1.11
yum install -y gitlab-ce-13.6.7
小技巧:
因为gitlab比较大,基本都是九百多兆,所以建议下载下来,在升级前,将gitlab各版本安装包放置到yum缓存目录即可,这样安装会快很多
yum缓存目录:
[root@localhost packages]# pwd
/var/cache/yum/x86_64/7/gitlab-ce/packages
十三、参考资料
1、官方资料:https://docs.gitlab.com/ee/update/index.html#upgrade-paths
2、参考文档:https://blog.csdn.net/jinliang1star/article/details/98479371
3、源:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/
4、参考文档:https://www.cnblogs.com/ssgeek/p/9392104.html