gitlab迁移到docker并升级大版本到10.1.1和汉化

本文主要讲 gitlab切换为docker版本,并且升级大版本(9.x-10.x)的较为快捷的方式

gitlab备份

查看现有版本

sudo gitlab-rake gitlab:env:info

...
GitLab information
Version:    9.2.5
...复制代码

备份

在原服务器运行

sudo gitlab-rake gitlab:backup:create RAILS_ENV=production

sudo sh -c 'umask 0077; tar -cf /var/opt/gitlab/backups/$(date "+etc-gitlab-%s_%Y_%m_%d.tar") -C /etc/gitlab'复制代码

通过sudo ls -lah /var/opt/gitlab/backups | grep $(date "+%Y_%m_%d" ) 查看

-rw-------  1 git  git  172M 11月  7 11:07 1510024070_2017_11_07_x.x.x_gitlab_backup.tar
-rw-------  1 root root 150K 11月  7 11:28 etc-gitlab-1510025309_2017_11_07.tar复制代码

移动到目标服务器

使用scp将备份文件复制到目标主机

username是用户名
ip是来源主机ip

登陆目标主机,

sudo mkdir -p /data/gitlab/data/backups

scp username@ip:/var/opt/gitlab/backups/1510024070_2017_11_07_x.x.x_gitlab_backup.tar /data/gitlab/data/backups/1510024070_gitlab_backup.tar
scp username@ip:/var/opt/gitlab/backups/etc-gitlab-1510025309_2017_11_07.tar /data/gitlab/data/backups/

# 需要注意ssh的权限问题,如果无权限,要么改配置,要么就用winscp,ftp等进行上传复制代码

gitlab恢复

docker-compose

version: '2'
services:
    gitlab:
      image: 'gitlab/gitlab-ce:x.x.x-ce.0' # 将x.x.x-ce.0改成之前gitlab版本,否则无法恢复备份
      restart: unless-stopped
      ports:
        - '80:80'
        - '443:443'
        - '22:22'
      volumes:
        - config:/etc/gitlab
        - data:/var/opt/gitlab
        - logs:/var/log/gitlab
volumes:
    config:/data/gitlab/config
    data:/data/gitlab/data
    logs:/data/gitlab/log复制代码

docker-compose up -d

恢复数据

docker exec -it gitlab_gitlab_1 /bin/bash

gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=1510024070 # 1510024070_gitlab_backup.tar 的前段
tar -xf /var/opt/gitlab/backups/etc-gitlab-1510025309_2017_11_07.tar -C /复制代码

访问以下http://ip/如果正常,则执行`docker-compose down`

gitlab升级和汉化

version: '2'
services:
    gitlab:
      image: 'anjia0532/gitlab-ce-zh:10.1.1-ce.0' # 汉化的10.1.1版本
      restart: unless-stopped
      ports:
        - '80:80'
        - '443:443'
        - '22:22'
      volumes:
        - config:/etc/gitlab
        - data:/var/opt/gitlab
        - logs:/var/log/gitlab
volumes:
    config:/data/gitlab/config
    data:/data/gitlab/data
    logs:/data/gitlab/log复制代码

参考连接:

博客 anjia.ml/2017/11/07/…
掘金 juejin.im/post/5a0170…
简书 www.jianshu.com/p/3ac4bd837…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值