升级

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

使用 Docker Engine 升级极狐GitLab

要想升级使用 Docker Engine 安装的极狐GitLab

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

  2. 停止运行的容器:

    sudo docker stop gitlab
    
  3. 移除既有的容器:

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

    sudo docker pull registry.gitlab.cn/omnibus/gitlab-jh:latest
    
  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 \
    registry.gitlab.cn/omnibus/gitlab-jh:latest
    

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

当升级到不同版本时,请参阅极狐GitLab 升级建议

使用 Docker compose 升级极狐GitLab

要想升级使用 Docker Compose 安装的极狐GitLab

  1. 创建一个备份。至少备份数据库和极狐GitLab secrets 文件。
  2. 编辑 docker-compose.yml 并更改要拉取的版本。
  3. 下载最新版本并升级你的极狐GitLab 实例:

    docker compose pull
    docker compose up -d
    

降级极狐GitLab

恢复操作会用旧的数据状态覆盖所有较新的极狐GitLab 数据库内容。仅在必要时才建议进行降级操作。例如,如果升级后的测试暴露出无法快速解决的问题。

caution 你必须至少有一份使用与你要降级到的版本和版本类型完全相同的版本创建的数据库备份。需要使用该备份来撤销升级过程中所做的模式更改(迁移)。

要想在升级之后降级极狐GitLab:

  1. 遵循升级流程,并指定之前你安装的版本而不是已安装的版本。

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

    • 遵循 Docker 镜像的恢复步骤,包括停止 Puma 和 Sidekiq。仅有数据库必须恢复,所以添加 SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_stategitlab-backup restore 命令行参数中。