Help us learn about your current experience with the documentation. Take the survey.

升级基于 Docker 的安装

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab Self-Managed

将基于 Docker 的安装升级到 GitLab 的更高版本。

使用 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 数据库内容。 降级仅在必要时推荐。例如,如果升级后的测试显示无法快速解决的问题。

您必须至少有一个使用与您要降级到的完全相同版本和版本创建的数据库备份。 该备份用于恢复升级期间所做的架构更改(迁移)。

要在升级后不久降级 GitLab:

  1. 通过 指定较早版本 遵循升级步骤, 该版本早于您已安装的版本。

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

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