使用软件包升级极狐GitLab

您可以使用极狐GitLab 软件包将极狐GitLab 升级到新版本。

先决条件

  • 确保所有后台迁移已完全完成。在后台迁移完成之前升级可能会导致数据损坏。我们建议在主要版本和次要版本之间执行的升级次数,每周不超过一次,以便有时间完成后台迁移。
  • 在升级应用程序服务器之前,必须将 Gitaly 服务器升级到较新的版本,可以防止应用服务器上的 gRPC 客户端发送旧 Gitaly 版本不支持的 RPC。

停机时间

  • 对于单节点安装实例,极狐GitLab 在升级过程中对用户不可用。用户的网络浏览器显示 Deploy in progress 消息或 502 错误。

升级前备份

在安装较新的极狐GitLab 版本之前备份极狐GitLab 数据库。您可以通过在 /etc/gitlab/skip-auto-backup 创建一个空文件来跳过此自动数据库备份:

sudo touch /etc/gitlab/skip-auto-backup

尽管如此,强烈建议您自己维护完整的最新备份。

使用官方仓库升级

所有极狐GitLab 软件包都发布到极狐GitLab 软件包服务器,包含 gitlab-jh 仓库。

使用官方仓库升级到最新版本

如果您定期升级极狐GitLab,例如每月一次,您可以使用包管理器升级到最新版本。

要升级到最新的极狐GitLab 版本:

# Ubuntu/Debian
sudo apt update && sudo apt install gitlab-jh

# RHEL/CentOS 7
sudo yum install gitlab-jh

使用官方仓库升级到特定版本

Linux 软件包管理器默认安装最新可用版本的软件包来进行安装和升级。

在软件包管理器的安装或升级命令中指定极狐GitLab 版本号:

  1. 识别已安装软件包的版本号:

    # Ubuntu/Debian
    sudo apt-cache madison gitlab-jh
    
    # RHEL/CentOS 7
    yum --showduplicates list gitlab-jh
    
  2. 使用以下命令之一安装特定的 gitlab-jh 包,并将 <version> 替换为您在上一步中找到的受支持版本:

    # Ubuntu/Debian
    sudo apt install gitlab-jh=<version>
    
    # RHEL/CentOS 6 and 7
    yum install gitlab-jh-<version>
    

使用手动下载的包进行升级

note建议使用软件包库,而不是手动安装。

如果由于某种原因,您不使用官方仓库,则可以下载软件包并手动安装。此方法可用于第一次安装极狐GitLab 或更新它。

下载并安装极狐GitLab:

  1. 访问软件包的官方仓库
  2. 通过搜索您要安装的版本(例如 14.1.8)过滤列表。单个版本可能存在多个包,每个支持的发行版和架构都有一个。 文件名旁边是指示分布的标签,因为文件名可能相同。
  3. 找到您要安装的软件包版本,然后从列表中选择文件名。
  4. 选择右上角的 下载,下载软件包。
  5. 下载软件包后,使用以下命令之一安装它,并将 <package_name> 替换为您下载的包名称:

    # Debian/Ubuntu
    dpkg -i <package_name>
    
    # CentOS/RHEL
    rpm -Uvh <package_name>
    

故障排除

获取极狐GitLab 安装的状态

sudo gitlab-ctl status
sudo gitlab-rake gitlab:check SANITIZE=true
  • 查看有关使用 gitlab-ctl 执行维护任务的信息。
  • 查看有关使用 gitlab-rake 执行检查配置的信息。

运行 apt-get update 出现错误 An error occurred during the signature verification

要更新极狐GitLab 软件包服务器的 GPG 密钥,请运行:

curl --silent "https://packages.gitlab.cn/repository/raw/gpg/public.gpg.key" | apt-key add -
apt-get update