Gitlab 升级方案

Gitlab 升级方案

公司有台Gitlab服务器使用的是9.0.0版本,现要将其迁移到新的服务器,为了使用最新的功能,要将其升级。

为了便于维护,我们使用docker安装,使用docker安装gitlab非常容易,官网上只要一行命令.

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 \
  gitlab/gitlab-ee:latest

我们使用docker-compose的方式安装,文件如下

version: "3"

services:
  gitlab:
    image: gitlab/gitlab-ce:9.0.0-ce.0
    # image: gitlab/gitlab-ce:9.5.10-ce.0
    # image: gitlab/gitlab-ce:10.8.7-ce.0
    # image: gitlab/gitlab-ce:11.11.8-ce.0
    # image: gitlab/gitlab-ce:12.10.14-ce.0
    # image: gitlab/gitlab-ce:13.0.0-ce.0
    # image: gitlab/gitlab-ce:13.3.5-ce.0
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        nginx['listen_port'] = '80'
        nginx['listen_https'] = false
        registry_nginx['listen_port'] = '80'
        registry_nginx['listen_https'] = false
        gitlab_rails['lfs_enabled'] = true
        gitlab_rails['registry_enabled'] = true
        gitlab_rails['gitlab_shell_ssh_port'] = 2222
    ports:
      - 80:80
      - 2222:2222
    volumes:
      - /opt/gitlab/config:/etc/gitlab
      - /opt/gitlab/logs:/var/log/gitlab
      - /opt/gitlab/data:/var/opt/gitlab
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro

从老的服务器上备份,拷贝到新的机器上恢复数据

sudo cp ~/backups/1596417964_2020_08_03_gitlab_backup.tar /opt/gitlab/data/backups/
sudo docker-compose exec gitlab gitlab-rake gitlab:backup:restore
  1. 9.0.0 -> 9.5.10,使用docker安装,导入备份,完成。

  2. 修改docker-compose.yml中的gitlab image版本,docker-compose up -d启动,每升级一个版本号做一次备份,升级路线9.0.0-ce.0->9.5.10-ce.0->10.8.7-ce.0->11.11.8-ce.0->12.10.14-ce.0->13.3.5-ce.0

sudo docker-compose exec gitlab gitlab-rake gitlab:backup:create

按此流程下来,可以一路刷到最新版。

域名,端口的问题

接下来还有域名和端口的问题,因为我们是内网环境,服务器没有独立的外网IP,需要使用网关做HTTP代理,如何解决将在后面再讲。

CI/CD

后面再讲如何使用gitlab完成CI/CD


翻车了!!!!

12升级到13版本的时候要先升级到 13.0.x版本,那就再加一个版本吧。

It seems you are upgrading from major version 12 to major version 13.
It is required to upgrade to the latest 13.0.x version first before proceeding.
Please follow the upgrade documentation at https://docs.gitlab.com/ee/policy/maintenance.html#upgrading-major-versions

posted @ 2020-09-11 15:07  HiroSyu  阅读(1545)  评论(1编辑  收藏  举报