升级 Linux 包安装
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed
将 Linux 包安装升级到 GitLab 的更高版本。
升级操作系统(可选)
如果需要,您应该在升级 GitLab 本身之前,先升级到支持的操作系统。
升级操作系统后,您可能还需要在包管理器的配置中更新 GitLab 包源 URL。如果您的包管理器报告没有可用的更新,但您知道存在更新,请重复Linux 包安装指南中的说明来添加 GitLab 包仓库。未来的 GitLab 升级将根据您升级的操作系统获取。
升级操作系统后 PostgreSQL 索引损坏
作为操作系统升级的一部分,如果您的 glibc 版本发生变化,您必须遵循PostgreSQL 操作系统升级指南以避免索引损坏。
停机时间
- 对于单节点安装,在升级过程中 GitLab 对用户不可用。用户的网页浏览器会显示部署进行中消息或
502错误。 - 对于多节点安装,请参阅如何执行零停机升级。
- 多节点安装的升级也可以在有停机时间的情况下进行with downtime。
早期 GitLab 版本
有关早期 GitLab 版本的特定版本信息,请参阅文档存档。存档中的文档版本包含更早版本的 GitLab 的特定版本信息。
例如,GitLab 15.11 的文档包含回溯到 GitLab 11 版本的信息。
跳过自动数据库备份
在安装较新的 GitLab 版本之前,GitLab 数据库会被备份。您可以通过在 /etc/gitlab/skip-auto-backup 创建一个空文件来跳过此自动数据库备份:
sudo touch /etc/gitlab/skip-auto-backup尽管如此,您应该自己维护一个完整且最新的备份。
升级 Linux 包实例
升级 Linux 包实例:
- 完成主 GitLab 升级文档中的初始步骤。
- 如果您正在从非包安装升级到 GitLab 包安装,请按照从非包安装升级到 GitLab 包安装中的步骤操作。
- 通过接下来的部分继续升级。
必需的服务
您可以在 GitLab 实例在线的情况下执行升级。当您执行升级命令时,PostgreSQL、Redis 和 Gitaly 必须正在运行。
使用官方仓库(推荐)
所有 GitLab 包都发布到 GitLab 包服务器。维护了六个仓库:
gitlab/gitlab-ee: 完整的 GitLab 包,包含所有社区版功能以及企业版功能。gitlab/gitlab-ce: 一个精简的包,仅包含社区版功能。gitlab/gitlab-fips: 符合 FIPS 标准的构建。gitlab/unstable: 发布候选版本和其他不稳定版本。gitlab/nightly-builds: 每日构建版本。gitlab/raspberry-pi2: 为 Raspberry Pi 包构建的官方社区版发布版本。
如果您已经安装了 GitLab 社区版或企业版,那么官方 GitLab 仓库应该已经为您设置好了。
升级到最新版本
如果您定期升级 GitLab(例如每月一次),您可以使用 Linux 发行版的包管理器升级到最新版本。
升级到最新 GitLab 版本:
# Ubuntu/Debian
sudo apt update && sudo apt install gitlab-ee
# 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对于 GitLab 社区版,将 gitlab-ee 替换为 gitlab-ce。
升级到特定版本
Linux 包管理器默认安装最新可用版本的包进行安装和升级。直接升级到最新主版本对于需要多阶段升级路径的较旧 GitLab 版本可能会出现问题。升级路径可以跨越多个版本,因此您必须在每次升级时指定特定的 GitLab 包。
在包管理器的安装或升级命令中指定所需的 GitLab 版本号:
-
识别已安装包的版本号:
# Ubuntu/Debian sudo 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 -
使用以下命令之一安装特定的
gitlab-ee包,并将<version>替换为您想要安装的下一个支持版本(请务必查看升级路径以确认您安装的版本是支持路径的一部分):# Ubuntu/Debian sudo apt install gitlab-ee=<version>-ee.0 # RHEL/CentOS 7 和 Amazon Linux 2 sudo yum install gitlab-ee-<version>-ee.0.el7 # RHEL/Almalinux 8/9 sudo dnf install gitlab-ee-<version>-ee.0.el8 # Amazon Linux 2023 sudo dnf install gitlab-ee-<version>-ee.0.amazon2023 # OpenSUSE Leap 15.5 sudo zypper install gitlab-ee=<version>-ee.sles15 # SUSE Enterprise Server 12.2/12.5 sudo zypper install gitlab-ee=<version>-ee.0.sles12
对于 GitLab 社区版,将 ee 替换为 ce。
使用下载的包
如果您不想使用官方仓库,您可以下载包并手动安装。此方法可用于首次安装 GitLab 或升级它。
下载并安装或升级 GitLab:
-
转到您的包的官方仓库。
-
通过搜索您要安装的版本来过滤列表。例如,
14.1.8。单个版本可能存在多个包,每个支持的发行版和架构各一个。文件名旁边有一个标签指示发行版,因为文件名可能相同。 -
找到您要安装的包版本,并从列表中选择文件名。
-
在右上角,选择下载。
-
下载包后,使用以下命令之一安装它,并将
<package_name>替换为您下载的包名:# Debian/Ubuntu dpkg -i <package_name> # RHEL/CentOS 7 和 Amazon Linux 2 rpm -Uvh <package_name> # RHEL/Almalinux 8/9 和 Amazon Linux 2023 dnf install <package_name> # SUSE zypper install <package_name>
对于 GitLab 社区版,将 gitlab-ee 替换为 gitlab-ce。
升级产品文档(可选)
故障排除
有关更多信息,请参阅故障排除。