gitlab-ce迁移到docker与版本升级


服务器是aws的,之前的gitlab是源码安装,升级很不方便,现在迁移到docker,版本从11.7.5升级到12.2.5

一、源数据备份

  1. 登录线上gitlab
  2. 执行命令
$ cd /home/git/gitlab
$ sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

备份后数据在/home/git/gitlab/tmp/backups/下,名字为 日期_版本_gitlab_backup.tar
注:/home/git为挂载的硬盘

  1. 将需要的文件拷贝到/home/git/gitlab下
$ sudo mkdir /home/git/gitlab/gitlab_file
$ sudo cp /etc/nginx/conf.d/default.conf  /home/git/gitlab/gitlab_file         nginx配置文件
$ sudo cp /etc/nginx/conf.d/gitlab-pages.conf  /home/git/gitlab/gitlab_file    pages配置文件
$ sudo cp /etc/nginx/fullchain.pem  /home/git/gitlab/gitlab_file     	       nginx密钥文件
$ sudo cp /etc/nginx/privkey.pem   /home/git/gitlab/gitlab_file		           nginx密钥文件

注:根据需求,gitlab要开启pages,所以拷贝pages的配置文件;nginx要启用ssl

  1. 复制gitlab数据盘(/home/git) 卷—>创建快照 快照—>创建卷

二、恢复前准备

  1. 新启动的gitlab服务器系统为ubuntu18.04,将新建的卷挂载到服务器上
  2. 2.创建存放相应文件及存放数据的的目录、挂载数据盘
$ mkdir /home/ubuntu/gitlab_file
$ sudo mkdir /data
$ 将数据盘挂载到/data下,可将其他文件删除,只保留备份数据文件,/data作为存放数据的盘。
  1. 将需要的文件拷贝到gitlab_file中
$ sudo cp /opt/gitlab/gitlab_file/default.conf  /home/ubuntu/gitlab_file         nginx配置文件
$ sudo cp /opt/gitlab/gitlab_file/gitlab-pages.conf /home/ubuntu/gitlab_file     pages配置文件
$ sudo cp /opt/gitlab/gitlab_file/fullchain.pem  /home/ubuntu/gitlab_file        nginx密钥文件
$ sudo cp /opt/gitlab/gitlab_file/privkey.pem   /home/ubuntu/gitlab_file	     nginx密钥文件
  1. Docker安装
    各系统安装docker 链接 https://zhuanlan.zhihu.com/p/54147784
    将ubuntu用户加入docker组
$ sudo gpasswd -a ubuntu docker
  1. Docker-compose安装

(1) 运行以下命令下载最新版本的 docker-compose:

$ sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

(2) 更改二进制文件的权限,使其能够运行:

$ sudo  chmod +x /usr/local/bin/docker-compose

(3) 测试安装

$ docker-compose --version
  1. 更改本机sshd服务端口为23
    注:需要将gitlab容器22端口映射到本机22端口

三、数据恢复

  1. 启动Postgresql

(1) 拉取数据库镜像

$ docker pull sameersbn/postgresql:10-2

(2) 创建数据目录

$ mkdir -p  /data/postgresql/data

(3) 启动数据库

$ bash pg.sh
$ cat pg.sh
docker run --rm --name postgresql -d \
        -e  'DB_NAME=gitlabhq_production' \
        -e  'DB_USER=gitlab' \
        -e  'DB_PASS=123456' \
        -e  'DB_EXTENSION=pg_trgm' \
        -v /data/postgresql/data:/var/lib/postgresql \
        sameersbn/postgresql:10-2
  1. 启动redis

(1) 拉取redis镜像

$ docker pull sameersbn/redis:4.0.9-3

(2) 创建redis数据目录

$ mkdir -p /data/redis/data

(3) 启动redis

$ bash redis.sh
$ cat redis.sh
docker run --rm --name redis -d \
        -v /data/redis/data:/var/lib/redis  \
        sameersbn/redis:4.0.9-3
  1. gitlab

(1) 拉取gitlab镜像

$ docker pull sameersbn/gitlab:11.7.5  旧版本
$ docker pull sameersbn/gitlab:11.11.0 中间版本
$ docker pull sameersbn/gitlab:12.2.5  新版本

注:从11.7.5升级到12.2.5版本需要先升级到

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值