升级以docker方式安装的gitlab ,踩坑记

1、之前安装的是中文版的gitlab_11.1.4,升级目标为gitlab_13.10.2-ce.0
升级顺序

11.1.4  -->11.11.8 -->12.0.12 -->12.9.10 --X-->13.0.10 -->13.10.2

2、docker-compose.yaml

version: '2'
services:
    gitlab:
      container_name: "gitlab"
      #image: 'harbor.cadp.com/public/gitlab-ce-zh:11.1.4'
      #image: 'gitlab/gitlab-ce:11.11.8-ce.0'
      #image: 'gitlab/gitlab-ce:12.0.12-ce.0'
      #image: 'gitlab/gitlab-ce:12.9.10-ce.0'
      #image: 'gitlab/gitlab-ce:13.0.10-ce.0' 
      image: 'gitlab/gitlab-ce:13.10.2-ce.0'
      restart: unless-stopped
      hostname: 'gitlab.goodboy.cn'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://gitlab.goodboy.cn'
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
          gitlab_rails['initial_root_password'] = "Gitlab123456"
          gitlab_rails['gitlab_shell_ssh_port'] = 2222
          prometheus['enable'] = false
          # 需要配置到 gitlab.rb 中的配置可以在这里配置,每个配置一行,注意缩进。
          # 比如下面的电子邮件的配置:
          # gitlab_rails['smtp_enable'] = true
          # gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
          # gitlab_rails['smtp_port'] = 465
          # gitlab_rails['smtp_user_name'] = "[email protected]"
          # gitlab_rails['smtp_password'] = "password"
          # gitlab_rails['smtp_authentication'] = "login"
          # gitlab_rails['smtp_enable_starttls_auto'] = true
          # gitlab_rails['smtp_tls'] = true
          # gitlab_rails['gitlab_email_from'] = '[email protected]'
      ports:
        - '880:80'
        - '8443:443'
        - '2222:2222'
      volumes:
        - /data/gitlab/config:/etc/gitlab
        - /data/gitlab/data:/var/opt/gitlab
        - /data/gitlab/logs:/var/log/gitlab
        - /data/gitlab/sshd_config:/assets/sshd_config

升级方法为不断替换image后,docker-compose up -d


3、问题:因为gitlab是中文版安装,升级过程中,pqsql不支持字符集导致升级数据库失败
解决访问如下:

docker exec -it gitlab  apt-get update
docker exec -it gitlab  apt-get install -yqq locales tzdata
docker exec -it gitlab  locale-gen en_US.UTF-8

在这里插入图片描述


4、问题:从gitlab12.9升级到13.0时失败,需要预先升级postgresql到v11版本
解决方法:

docker exec -it gitlab  gitlab-ctl pg-upgrade -V 11

5、问题 :启动时报错,可以删除日志试试。

cd /data/gitlab
mv logs logs.bak

6、手动备份gitlab命令。

gitlab-rake gitlab:backup:create

在目录/data/gitlab/backups/下会生成一个备份文件如:1565056437_gitlab_backup.tar,其中1565056437即为此次备份都版本号。
如果升级失败,可以还原备份

gitlab-rake gitlab:backup:restore BACKUP=备份版本号

7、gitlab13.0 升级 13.10时,需要处理

docker exec -it gitlab bash
# su - gitlab-psql
$ psql -d gitlabhq_production
psql (11.7)

CREATE EXTENSION IF NOT EXISTS btree_gist;
\q

升级以docker方式安装的gitlab ,踩坑记_第1张图片

你可能感兴趣的:(运维工具)