Docker 部署GitLabs 版本升级 13.9.x -> 15.3.x
2022-09-02 16:18 假面Wilson 阅读(905) 评论(0) 编辑 收藏 举报
Gitlabs版本升级大版本不能直接跳级升级, 可以参考官方的升级路径。
本人是从13.9.x需要升级到最新的15.3.x。 参考官方路径结合自己的实际情况成功升级。
本人是从13.9.x需要升级到最新的15.3.x。 参考官方路径结合自己的实际情况成功升级。
13.9.0 -> 13.12.15 -> 14.0.12 ->14.1.8 -> 14.3.6 ->14.6.2 -> 14.9.5 ->14.10.5 ->15.0.3 -> 15.3.1
因为是基于Docker部署gitlabs,所以首先要在主机上创建挂载点,把gitlabs的数据挂载到主机上。
docker volume create gitlab_config docker volume create gitlab_logs docker volume create gitlab_data sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:13.9.0-ce.0
接下来就是一步步的安装版本升级的路径是新创建docker 容器了。
sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_13.12.15 \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:13.12.15-ce.0 sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_14.0.12 \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:14.0.12-ce.0 sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_14.1.8 \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:14.1.8-ce.0 sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_14.3.6 \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:14.3.6-ce.0 sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_14.6.2 \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:14.6.2-ce.0 sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_14.9.5 \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:14.9.5-ce.0 sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_14.10.5 \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:14.10.5-ce.0 sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_15.0.3 \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce:15.0.3-ce.0 sudo docker run --detach \ --hostname bp.devops.gitlab \ --publish 443:443 --publish 80:80 --publish 21:22 \ --name gitlab_latest \ --restart always \ --privileged=true \ --volume gitlab_config:/etc/gitlab \ --volume gitlab_logs:/var/log/gitlab \ --volume gitlab_data:/var/opt/gitlab \ gitlab/gitlab-ce
在升级过程中如果碰到报错: Database migration fails, 可以手动执行数据 Database migration。
docker exec -it {dockerID} /bin/bash gitlab-rake gitlab:background_migrations:finalize[ProjectNamespaces::BackfillProjectNamespaces,projects,id,'[null\,"up"]'] gitlab-rake gitlab:background_migrations:finalize[BackfillProjectSettings,projects,id,'[]'] gitlab-rake gitlab:background_migrations:finalize[BackfillIntegrationsTypeNew,integrations,id,'[]'] gitlab-rake db:migrate --trace gitlab-rake db:migrate:status | grep 'down' gitlab-ctl reconfigure apt dist-upgrade gitlab-ctl restart
以上手动执行还是失败,可以退回上一个版本,登录gitlabs的Admin Area - Background Migrations看看是否存在failed的,执行成功后,再升级即可。
gitlab 默认启用 Prometheus , 防止Gitlabs占用大量空间,可以关闭
docker exec -it {dockerID} /bin/bash vim gitlab/config/gitlab.rb 直接修改 # prometheus['enable'] = true prometheus['enable'] = false
gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start
参考:
https://gitlab.com/gitlab-org/gitlab/-/issues/363230
https://gitlab.com/gitlab-org/gitlab/-/issues/360377
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2013-09-02 SQL2005 全文检索超时的解决方案
2013-09-02 winform 获取当前程序运行根目录
2010-09-02 几种常用排序算法总结(转载)