1.这里是从自己公司的源下载的rpm包,需要换成自己的
2.从12的最后一个版本升级到14的最后一个版本
bash
# 停服务
[root@docker test]# gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status
# 进入 Rails 控制台
gitlab-rails console
# 查询项目 read-only 打开的
projects = Project.where(repository_read_only: true)
# 关闭项目的 read-only
projects.each do |p|
p.update!(repository_read_only:nil)
end
# 退出
exit
# 存储库迁移
[root@gitlab_ae ~]# gitlab-rake gitlab:storage:migrate_to_hashed
# 重启gitlab
[root@gitlab_ae ~]# gitlab-ctl restart
# 存储库迁移
[root@gitlab_ae ~]# gitlab-rake gitlab:storage:migrate_to_hashed
# 查看传统存储项目
[root@gitlab_ae ~]# gitlab-rake gitlab:storage:list_legacy_projects
# 可以导出或者删除有问题的存储库,方便以后恢复
# 重新检查传统存储项目
[root@gitlab_ae ~]# gitlab-rake gitlab:storage:list_legacy_projects
升级到14.0.12版本
bash
[root@docker test]# gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status
[root@docker test]# wget https://mirrors.xurikeji.com/package/gitlab-ce/gitlab-ce-14.0.12-ce.0.el7.x86_64.rpm
[root@docker test]# rpm -Uvh gitlab-ce-14.0.12-ce.0.el7.x86_64.rpm
Warnings:
The version of the running postgresql service is different than what is installed.
Please restart postgresql to start the new version.
sudo gitlab-ctl restart postgresql
[root@gitlab_ae ~]# gitlab-ctl restart postgresql
[root@gitlab_ae ~]# gitlab-ctl reconfigure
[root@gitlab_ae ~]# gitlab-ctl restart
升级到14.3.6版本
bash
[root@docker test]# gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status
[root@docker test]# wget https://mirrors.xurikeji.com/package/gitlab-ce/gitlab-ce-14.3.6-ce.0.el7.x86_64.rpm
[root@docker test]# rpm -Uvh gitlab-ce-14.3.6-ce.0.el7.x86_64.rpm
Warnings:
The version of the running redis service is different than what is installed.
Please restart redis to start the new version.
sudo gitlab-ctl restart redis
Running handlers complete
Chef Infra Client failed. 31 resources updated in 58 seconds
Warnings:
The version of the running redis service is different than what is installed.
Please restart redis to start the new version.
sudo gitlab-ctl restart redis
===
There was an error running gitlab-ctl reconfigure. Please check the output above for more
details.
===
warning: %posttrans(gitlab-ce-14.3.6-ce.0.el7.x86_64) scriptlet failed, exit status 1
[root@docker test]# sudo gitlab-ctl restart redis
[root@docker test]# gitlab-ctl restart
#这里reconfigure会报错:需要登到gitlab看后台迁移的任务全部成功才能配置成功,带上链接
#https://docs.gitlab.com/ee/user/admin_area/monitoring/background_migrations.html#database-migrations-failing-because-of-batched-background-migration-not-finished
[root@docker test]# sudo gitlab-ctl reconfigure
[root@docker test]# gitlab-ctl restart
升级到14.3.6版本
bash
[root@docker test]# gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status
[root@docker test]# wget https://mirrors.xurikeji.com/package/gitlab-ce/gitlab-ce-14.9.5-ce.0.el7.x86_64.rpm
[root@docker test]# rpm -Uvh gitlab-ce-14.9.5-ce.0.el7.x86_64.rpm
# 需要等待很长时间,卡在 ...AddStatusColumnToSecurityScansTable...
[root@docker test]# gitlab-ctl reconfigure
#这里后台虽然也有迁移的任务,但是没事儿,不用管,不会影响下个版本升级
[root@docker test]# gitlab-ctl restart
升级到14.10.5版本
bash
[root@docker test]# gitlab-ctl stop puma && gitlab-ctl stop sidekiq && gitlab-ctl stop nginx && gitlab-ctl status
[root@docker test]# wget https://mirrors.xurikeji.com/package/gitlab-ce/gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm
[root@docker test]# rpm -Uvh gitlab-ce-14.10.5-ce.0.el7.x86_64.rpm
[root@docker test]# gitlab-ctl reconfigure
[root@docker test]# gitlab-ctl restart