温馨提示×

ubuntu gitlab更新攻略

小樊
41
2025-11-29 02:19:38
栏目: 智能运维

Ubuntu 上 GitLab 更新与升级全流程

一 升级前准备

  • 明确版本与路径:确认当前是 GitLab CE/EE 与版本号,规划目标版本,避免跨多主版本一次性升级。执行:sudo gitlab-rake gitlab:env:info 查看版本信息。
  • 阅读发布说明与变更:对照目标版本的 Release Notes,关注重大变更、弃用项与数据库变更要求。
  • 完整备份:先停机或确保一致性后备份,命令:sudo gitlab-rake gitlab:backup:create(备份文件默认位于 /var/opt/gitlab/backups)。
  • 检查系统环境:确保磁盘空间、数据库(如 PostgreSQL)状态正常,网络与包源可达。
  • 建议先在测试环境演练,再在生产环境执行。

二 标准升级步骤

  • 更新系统软件包索引:sudo apt update && sudo apt upgrade -y
  • 确保官方仓库已配置(CE/EE 二选一,若已配置可跳过):
    • CE:curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    • EE:curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
  • 执行升级(保持当前安装的 CE/EE 一致):
    • CE:sudo apt install gitlab-ce
    • EE:sudo apt install gitlab-ee
  • 重新配置并重启:sudo gitlab-ctl reconfigure && sudo gitlab-ctl restart
  • 验证版本:sudo gitlab-rake gitlab:env:info 或访问 Web 管理界面确认。

三 指定版本与多步升级策略

  • 指定版本安装(示例为 CE):sudo EXTERNAL_URL="http://YOUR_DOMAIN" apt install gitlab-ce=15.11.0-ce.0
  • 跨大版本升级建议逐步进行,遵循官方支持路径(示例思路):
    • 如从 13.x 升级,通常需依次经过 14.0.12 → 14.6.2 → 15.x → 16.x 等“关键补丁/过渡版本”,每一步升级后都执行 reconfigurerestart 并登录验证业务可用,再继续下一步。
  • 升级完成后再次核对版本与功能。

四 回滚与常见问题处理

  • 快速回滚方案:
    • 使用最近备份恢复:sudo gitlab-rake gitlab:backup:restore(恢复前确保服务已停止,恢复后 reconfigure 并启动)。
    • 包回退(若 APT 历史保留):sudo apt install gitlab-ce=OLD_VERSIONgitlab-ee=OLD_VERSION,随后 reconfigure
  • 常见问题与要点:
    • 升级后访问异常:检查 sudo gitlab-ctl status,查看 Nginx/Unicorn/Sidekiq 日志定位问题。
    • 配置未生效:执行 sudo gitlab-ctl reconfigure 使变更落地。
    • 升级中断或失败:优先从备份恢复,再按“小步升级”重试。

五 运维与自动化建议

  • 变更窗口与通知:选择低峰时段,提前通知用户维护时间窗口。
  • 灰度与验证:先升级备机或测试环境,完成业务验证后再升级生产。
  • 监控与回滚预案:准备回滚脚本与备份清单,升级后重点监控 CI/CD、Runner、仓库推送、Webhooks 等关键功能。
  • 定期维护:定期执行 apt update && apt upgrade 与安全补丁更新,保持系统与组件版本健康。

0