gitlab 12升级14(解决各种报错问题)

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
相关推荐
牛马的人生5 天前
GitLab入门教程:打开DevOps全流程的大门
运维·其他·gitlab·devops
水冗水孚5 天前
Ubuntu服务器上使用docker-compose部署 gitlab(图文并茂记录)
gitlab
<花开花落>7 天前
gitlab-runner 再次实践中理解和学习
gitlab
Vahala0623-孔勇8 天前
CI/CD流水线优化:GitLab CI镜像构建加速实战
ci/cd·gitlab
Lin_Aries_04219 天前
部署 GitLab 服务器
linux·运维·服务器·docker·gitlab·github
FreeBuf_9 天前
GitLab高危漏洞可致实例崩溃(CVE-2025-10858 和 CVE-2025-8014)
gitlab
恒雨田9 天前
Jenkins安装并与GitLab集成,实现dev、qa、uat、prod多分支持续集成的详细步骤
ci/cd·gitlab·jenkins
꧁༺摩༒西༻꧂9 天前
Windows Server 2022离线搭建Gitlab
gitlab
熙客10 天前
GitLab:代码管理
gitlab
Lin_Aries_042111 天前
通过配置 GitLab 自动触发项目自动化构建与部署
运维·docker·容器·自动化·云计算·gitlab