环境介绍:
Centos7.2
Gitlab版本: gitlab-ce-10.1.0
需要联网:使用yum 主动解决依赖问题。
目的:
目前gitlab最新稳定版为 gitlab-ce-13.9.7 本次将 gitlab-ce-10.1.0 升级到最新版本
升级准备:
因为是跨版本升级,所以不可以直接升级至最新的13.9.7版本需要按照小版本进行逐步升级。
遵循的原则就是先升级到当前版本小版本的最后一个版本:然后升级大版本的第一个版本,以此类推。具体参考官方给出的升级版本信息。如下:
所以我们需要准备的安装包的版本依次如下:
10.1.0 –> 10.8.7 –> 11.3.4 –> 11.11.8 –> 12.0.12 –> 12.10.6 –> 13.0.0 –> 13.9.7
版本说明:10.1.0
10表示大版本
1表示小版本
0表示补丁包版本
官方参考升级版本信息:参考 Upgrading GitLab | GitLab
备份恢复
升级之前最主要是是要备份数据,以便在升级过程出现问题时不会丢失数据:
备份:
#停止gitlab的外部访问 gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-ctl stop nginx
#备份 gitlab-rake gitlab:backup:create
备份文件默认存储在 /var/opt/gitlab/backups 可以在配置文件中修改
gitlab_rails[‘backup_path’] = “/var/opt/gitlab/backups”
恢复:
同样先停止外部访问,然后进行恢复
先重命名一下之前的备份文件,只保留时间戳部分,否则可能会报错。
#1.修改包名 mv 1624266558_2021_06_21_12.10.6_gitlab_backup.tar 1624266558.tar #退出backups目录后执行恢复 gitlab-rake gitlab:backup:restore BACKUP=1624258202.tar #2.如果上一步报错找不到可用的文件可以将包名恢复成原来的名字,退出backups目录,执行恢复, 但是不要写_gitlab_backup.tar gitlab-rake gitlab:backup:restore BACKUP=1624266558_2021_06_21_12.10.6
就可以恢复了。
升级
下载对应版本的安装包:下载地址
升级前确认已经做好备份
gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-ctl stop nginx yum install -y gitlab-ce-10.8.7-ce.0.el7.x86_64.rpm gitlab-ctl restart
每次升级完restart 检查组件是否运行正常,然后登录页面验证是否正常。依次安装对应版本的安装包即可。
可能出现的问题
1.升级时出现
Dumping database ... Dumping PostgreSQL database gitlabhq_production ... pg_dump: [archiver (db)] connection to database "gitlabhq_production" failed
这是因为postgresql 没有启动 启动一下即可。
gitlab默认带的postgresql 启动方式如下:
gitlab-ctl start postgresql
2.访问页面出现502
通常是因为端口被占用导致的,关闭占用的端口或者修改正在使用的端口即可。如果不知道那些端口占用了可以重启一下,以下是正规的解决办法:
#编辑配置文件 vim /etc/gitlab/gitlab.rb gitlab_workhorse['auth_backend'] = "http://localhost:8081" #端口随便写,这不是web的访问端口只是内部调用使用的 unicorn['port'] = 8081 #端口同上 #使配置生效 gitlab-ctl reconfigure #重启gitlab gitlab-ctl restart
重启后等待一两分钟,再试一下web访问是否正常。如果多次出现可以反复的修改或者注释以上两行配置。达到端口变更的目的。
如有问题欢迎留言
0 条评论