首页主机资讯Linux中GitLab的更新流程是什么

Linux中GitLab的更新流程是什么

时间2025-12-18 23:43:04发布访客分类主机资讯浏览272
导读:Linux中GitLab的更新流程 一 准备与规划 确认安装方式:常见为 Omnibus 包(Linux 包)、源码、Docker、Kubernetes(Helm),不同方式升级步骤不同。以下以 Omnibus 包为主。 规划升级路径:始...

Linux中GitLab的更新流程

一 准备与规划

  • 确认安装方式:常见为 Omnibus 包(Linux 包)源码DockerKubernetes(Helm),不同方式升级步骤不同。以下以 Omnibus 包为主。
  • 规划升级路径:始终升级到目标系列的最新补丁版本(如 13.8.8 而非 13.8.0),并遵循官方规定的升级路线,尤其是跨多个主版本时可能需要逐版本过渡。
  • 检查后台迁移:在升级前确认所有后台迁移与(自 14.0 起的)批量迁移已完成;可通过增加处理后台迁移队列的 Sidekiq worker 数量来缩短等待时间。
  • 维护窗口与可用性:单节点实例在升级过程中通常不可用(浏览器可能显示 Deploy in progress 或出现 502)。

二 标准升级步骤 Omnibus 包

  • 备份:执行备份并妥善保存关键文件。
    • 创建备份:sudo gitlab-backup create(GitLab 12.2+;旧版本可用 gitlab-rake gitlab:backup:create)。
    • 备份目录:默认 /var/opt/gitlab/backups,如自定义请在 /etc/gitlab/gitlab.rbgitlab_rails['backup_path'] 中查看。
    • 手动备份敏感文件:/etc/gitlab/gitlab.rb/etc/gitlab/gitlab-secrets.json(恢复时必需)。
  • 检查状态:sudo gitlab-ctl statussudo gitlab-rake gitlab:check SANITIZE=true
  • 可选自动备份开关:如需跳过升级时的自动数据库备份,可创建空文件 sudo touch /etc/gitlab/skip-auto-backup
  • 执行升级:
    • Debian/Ubuntu:sudo apt update & & sudo apt install gitlab-ee(或 gitlab-ce)。
    • RHEL/CentOS:sudo yum install gitlab-ee(或 gitlab-ce)。
  • 重新配置与重启:sudo gitlab-ctl reconfiguresudo gitlab-ctl restart
  • 升级后验证:访问 Web 界面、检查 Sidekiq、仓库与后台作业是否正常。

三 指定版本与升级路径

  • 指定版本安装:
    • Debian/Ubuntu:apt-cache madison gitlab-ee(或 gitlab-ce)查看可用版本;安装如 sudo apt install gitlab-ee=15.3.2-ee.0
    • RHEL/CentOS:yum --showduplicates list gitlab-ee(或 gitlab-ce);安装如 sudo yum install gitlab-ee-15.3.2-ee.0
  • 升级路线:若跨多个主版本,需按官方升级路线逐版本升级,并在每个阶段都升级到该系列的最新补丁版后再继续。示例(旧版场景):11.4.3 → 11.11.8 → 12.0.12 → 12.1.17 → 12.10.14 → 13.0.14 → 13.1.11 → 13.8.8 → 13.12.15 → 14.0.12 → 14.3.6 → 14.9.5 → 14.10.5。实际路线以官方文档对应版本为准。

四 回滚与常见问题

  • 回滚思路:若有问题,优先在同一大版本内降级到升级前的补丁版本(使用相同包管理器指定旧版本安装),并确保配置与数据一致。跨大版本回滚通常不被支持,需按升级路线前向升级到目标版本。
  • 恢复备份(灾难恢复):
    • 在新/原实例安装与待恢复版本一致的 GitLab;恢复前先妥善放置 gitlab.rbgitlab-secrets.json
    • 停止相关进程:gitlab-ctl stop unicorngitlab-ctl stop sidekiq(必要时 gitlab-ctl stop nginx)。
    • 执行恢复:sudo gitlab-rake gitlab:backup:restore BACKUP=时间戳_版本_gitlab_backup(BACKUP 为文件名去掉 _gitlab_backup.tar 的部分)。
    • 重新配置与重启:sudo gitlab-ctl reconfiguresudo gitlab-ctl restart
  • 常见问题处理:
    • 页面 502:检查服务状态 gitlab-ctl status,必要时 gitlab-ctl restart sidekiqgitlab-ctl hup puma(或 unicorn)、或重启 gitlab-runsvdir
    • 权限错误:确保备份文件权限正确(如 chmod 644 /var/opt/gitlab/backups/*.tar)。
    • 升级后健康检查:执行 gitlab-rake gitlab:check SANITIZE=true 排查配置与仓库问题。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux中GitLab的更新流程是什么
本文地址: https://pptw.com/jishu/775651.html
Linux下GitLab的用户管理怎么做 Ubuntu LibOffice支持多语言吗

游客 回复需填写必要信息