{{< details >}}

  • Tier: 基础版,专业版,旗舰版
  • Offering: 私有化部署

{{< /details >}}

在大多数情况下,升级极狐GitLab 就像下载最新的 Docker 镜像标签一样简单。

使用 Docker Engine 升级极狐GitLab

要升级通过 Docker Engine 安装 的极狐GitLab 实例:

  1. 创建一个备份。至少备份数据库和极狐GitLab 密钥文件。

  2. 停止运行的容器:

    sudo docker stop gitlab
    
  3. 删除现有容器:

    sudo docker rm gitlab
    
  4. 拉取新镜像:

    sudo docker pull gitlab/gitlab-ee:<version>-ee.0
    
  5. 确保 GITLAB_HOME 环境变量已定义

    echo $GITLAB_HOME
    
  6. 使用之前指定的选项重新创建容器:

    sudo docker run --detach \
    --hostname gitlab.example.com \
    --publish 443:443 --publish 80:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume $GITLAB_HOME/config:/etc/gitlab \
    --volume $GITLAB_HOME/logs:/var/log/gitlab \
    --volume $GITLAB_HOME/data:/var/opt/gitlab \
    --shm-size 256m \
    gitlab/gitlab-ee:<version>-ee.0
    

首次运行时,极狐GitLab 会重新配置并升级自身。

在升级到不同版本时,请参考极狐GitLab 的升级建议

使用 Docker Compose 升级极狐GitLab

要升级通过 Docker Compose 安装 的极狐GitLab 实例:

  1. 进行备份。至少备份数据库和极狐GitLab 密钥文件。
  2. 编辑 docker-compose.yml 并更改要拉取的版本。
  3. 下载最新版本并升级您的极狐GitLab 实例:

    docker compose pull
    docker compose up -d
    

降级极狐GitLab

恢复会将所有较新的极狐GitLab 数据库内容覆盖为较旧的状态。仅在必要时建议降级。例如,如果升级后测试发现问题且无法快速解决。

{{< alert type=”warning” >}}

您必须至少有一个数据库备份,该备份与您要降级到的版本和版本完全相同。备份是恢复升级期间进行的架构更改(迁移)所必需的。

{{< /alert >}}

在升级后不久降级极狐GitLab:

  1. 按照升级程序指定的较早版本进行操作。

  2. 恢复您在升级前创建的数据库备份

    • 按照 Docker 镜像的恢复步骤,包括停止 Puma 和 Sidekiq。只需恢复数据库,因此在 gitlab-backup restore 命令行参数中添加 SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state