温馨提示×

Debian如何升级GitLab到最新版

小樊
43
2025-12-17 05:48:46
栏目: 智能运维

Debian升级GitLab到最新版

一 升级前准备

  • 备份数据与配置:执行备份命令创建完整备份,确保可回滚。命令示例:sudo gitlab-rake gitlab:backup:create。如使用外部数据库,请单独备份数据库与 secrets。升级前确认备份可用。
  • 检查当前版本与升级路径:查看版本信息(如:sudo gitlab-rake gitlab:env:info),并参考官方升级路径工具规划跨版本升级,避免跨多版本直接升级导致不兼容。
  • 规划停机时间:单节点升级期间服务会短暂不可用,提前通知用户并选择低峰时段执行。
  • 系统准备:确保系统软件包为最新(sudo apt update && sudo apt upgrade),并预留足够磁盘空间(备份与解压新包均需空间)。

二 使用APT升级GitLab Omnibus包(推荐)

  • 更新软件包索引:sudo apt update
  • 执行升级(CE/EE二选一):
    • 社区版:sudo apt install --only-upgrade gitlab-ce
    • 企业版:sudo apt install --only-upgrade gitlab-ee
  • 如希望直接安装仓库中的最新版本号,也可先查看可用版本:apt-cache madison gitlab-ce(或 gitlab-ee),再按需指定版本安装。
  • 重新配置并重启:sudo gitlab-ctl reconfigure,随后 sudo gitlab-ctl restart
  • 验证:sudo gitlab-ctl status,并访问 Web 管理界面确认版本号。

三 使用Docker运行时的升级

  • 备份数据卷:确保挂载的 /etc/gitlab/var/opt/gitlab/var/log/gitlab 等目录已妥善备份。
  • 拉取最新镜像:docker pull gitlab/gitlab-ce:latest(或 gitlab/gitlab-ee:latest
  • 停止并替换容器(保持同一数据卷与端口映射):
    docker stop gitlab
    docker rm gitlab
    docker run --detach \
      --hostname gitlab.example.com \
      --publish 443:443 --publish 80:80 --publish 22:22 \
      --name gitlab \
      --restart always \
      --volume /srv/gitlab/config:/etc/gitlab \
      --volume /srv/gitlab/logs:/var/log/gitlab \
      --volume /srv/gitlab/data:/var/opt/gitlab \
      gitlab/gitlab-ce:latest
    
  • 验证:访问页面并检查容器日志与版本信息。

四 升级后验证与常见问题

  • 健康检查与状态:sudo gitlab-ctl status,必要时执行 sudo gitlab-rake gitlab:check SANITIZE=true 检查系统状态与配置。
  • 版本确认:在 Web 管理界面的 Help > About 或后台首页查看当前版本号,与升级目标版本一致即为成功。
  • 常见问题处理:
    • 跨版本升级失败:回滚到备份,按官方升级路径逐步升级。
    • 配置变更:升级后检查 /etc/gitlab/gitlab.rb 是否被覆盖或需要合并,必要时手动调整后再 reconfigure
    • 服务未完全启动:查看日志 sudo gitlab-ctl tail,定位失败组件并修复后重启。

0