Linux中GitLab如何更新
导读:Linux 上 GitLab 更新步骤 一 准备与升级前检查 确认安装方式与版本:使用 Omnibus 包 还是源码/容器;查看当前版本(网页 /help 或服务器命令)。 制定升级计划:优先在测试环境演练,准备回滚方案,避免生产中断。...
Linux 上 GitLab 更新步骤
一 准备与升级前检查
- 确认安装方式与版本:使用 Omnibus 包 还是源码/容器;查看当前版本(网页 /help 或服务器命令)。
- 制定升级计划:优先在测试环境演练,准备回滚方案,避免生产中断。
- 核对受支持的升级路径:不可直接跨多个主版本(例如从 10.3 直接到 12.7)。落后多个版本时,需要按路径逐步升级。
- 等待后台迁移完成:升级前确保后台迁移队列已清空;建议相邻主/次版本升级间隔不超过 1 周,以便迁移完成。
- 多节点前置:如使用 Gitaly 集群,先升级 Gitaly 服务器,再升级应用节点,避免 gRPC 不兼容。
- 备份:强烈建议完整备份;Omnibus 安装会在升级前自动备份数据库,如需跳过可创建空文件 /etc/gitlab/skip-auto-backup,但手动全量备份依然推荐。
二 标准升级流程(Omnibus 包,单节点)
- 备份(强烈推荐手动备份配置与密钥):
- 数据备份:sudo gitlab-backup create(GitLab 12.2+;旧版可用 sudo gitlab-rake gitlab:backup:create)
- 配置文件与密钥:sudo cp /etc/gitlab/gitlab.rb /backup/;sudo cp /etc/gitlab/gitlab-secrets.json /backup/
- 更新软件包索引并升级:
- Ubuntu/Debian:sudo apt update & & sudo apt install gitlab-ee(CE 用 gitlab-ce)
- RHEL/CentOS 7、Amazon Linux 2:sudo yum install gitlab-ee
- RHEL/AlmaLinux 8/9、Amazon Linux 2023:sudo dnf install gitlab-ee
- SUSE:sudo zypper install gitlab-ee
- 等待安装与自动迁移完成,访问页面出现 Deploy in progress 或短暂 502 属正常。
- 验证:访问 /help 确认版本;执行 sudo gitlab-ctl status 检查组件;必要时执行 sudo gitlab-rake gitlab:check。
三 指定版本与多节点零停机
- 指定版本升级(当存在多阶段升级路径时):
- 列出可用版本:
- Ubuntu/Debian:apt-cache madison gitlab-ee
- RHEL/CentOS 7、Amazon Linux 2:yum --showduplicates list gitlab-ee
- RHEL/AlmaLinux 8/9、Amazon Linux 2023:dnf --showduplicates list gitlab-ee
- SUSE:zypper search -s gitlab-ee
- 安装目标版本(示例,按系统选择其一,CE 将 ee 换为 ce):
- Ubuntu/Debian:sudo apt install gitlab-ee=-ee.0
- RHEL/CentOS 7:sudo yum install gitlab-ee--ee.0.el7
- RHEL/AlmaLinux 8/9:sudo dnf install gitlab-ee--ee.0.el8
- Amazon Linux 2023:sudo dnf install gitlab-ee--ee.0.amazon2023
- SUSE:sudo zypper install gitlab-ee=-ee.sles15(或 .sles12)
- 列出可用版本:
- 多节点零停机:按官方指引分阶段升级(先 Gitaly,再其余节点),或选择带停机的升级方式。
四 常见问题与回滚
- 升级失败回滚:使用之前的备份恢复(先停止相关服务),例如:
- 停止服务:gitlab-ctl stop unicorn & & gitlab-ctl stop sidekiq
- 恢复数据:gitlab-rake gitlab:backup:restore BACKUP=< 备份时间戳>
- 启动:gitlab-ctl start
- 后台迁移未完成:升级前务必确认后台迁移队列已清空;主/次版本升级间隔建议 ≤1 周,必要时增加处理 background_migration 队列的 Sidekiq 并发以加速。
- 版本特定变更:跨主版本可能需手动操作(如 13→14 默认应用服务器由 Unicorn 切换为 Puma,需调整 gitlab.rb 并重新配置)。
- 升级顺序要点:多节点先升 Gitaly;单节点升级期间对外不可用(显示 Deploy in progress 或 502)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux中GitLab如何更新
本文地址: https://pptw.com/jishu/768889.html
