gitlab数据迁移并升级版本

gitlab数据迁移并升级版本

公司目前的gitlab部署在docker上面,发现升级版本很痛苦,现在的想法是,将docker迁移到aws的ec2上面,使用yum部署,后期升级直接使用yum 就可以升级,方便很多。

gitlab数据迁移

这里需要注意一个点,gitlab只支持同版本迁移,所以需要在ec2上部署一个和docker版本相同版本的gitlab

全新的gitlab部署

  • 部署gitlab-ce

    #部署社区版yum源
    curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
    #安装gitlab-ce 13.8.8版本
    yum -y install gitlab-ce-13.8.8
    
    
  • 修改配置文件

    vim /etc/gitlab/gitlab.rb
    #修改下面这一行
    external_url 'http://172.30.126.152'
    
  • 重启配置和服务

    #加载配置
    gitlab-ctl reconfigure
    #重启服务
    gitlab-ctl restart
    
    

gitlab数据导入导出

  • 进入docker进行数据备份

    docker exec -it cpntainer_id /bin/bash
    备份数据:
    gitlab-rake gitlab:backup:create RAILS_ENV=production
    备份文件拷贝到本地:
    docker cp container_id:/var/opt/gitlab/backups/1666083077_2022_10_18_13.8.8_gitlab_backup.tar ./
    备份文件传输到目标服务器:
    scp 1666083077_2022_10_18_13.8.8_gitlab_backup.tar ec2-user@172.30.126.152:/var/opt/gitlab/backups/
    
    
  • 查看目标服务器数据

    [root@ip-172-30-126-152 gitlab]# cd /var/opt/gitlab/backups/
    [root@ip-172-30-126-152 backups]# ls
    1666083077_2022_10_18_13.8.8_gitlab_backup.tar    1666148460_2022_10_19_14.0.12_gitlab_backup.tar  1666153779_2022_10_19_14.10.5_gitlab_backup.tar
    1666147442_2022_10_19_13.8.8_gitlab_backup.tar    1666152737_2022_10_19_14.3.6_gitlab_backup.tar   1666154328_2022_10_19_15.0.5_gitlab_backup.tar
    1666148076_2022_10_19_13.12.15_gitlab_backup.tar  1666153289_2022_10_19_14.9.5_gitlab_backup.tar   tmp
    
    注意:1666083077_2022_10_18_13.8.8_gitlab_backup.tar这个是我们从源服务器拷贝过来的原始数据,用这个进行恢复数据
    
  • 执行恢复数据

    ## 执行数据导入
    注意:BACKUP后面跟的文件吗,把_gitlab_backup.tar去掉,这一步需要确保gitlab服务是启动状态
    gitlab-rake gitlab:backup:restore BACKUP=1666083077_2022_10_18_13.8.8
    
    ## 这一步有个坑,除了把上面的源数据导入之后,重启gitlab,会发现部分项目进入会出现报500的情况,解决方案如下:
    找到源服务器的gitlab-secrets.json文件,在/etc/gitlab/下面,并传到目标服务器下面
    [root@ip-172-30-126-152 backups]# cd /etc/gitlab/
    [root@ip-172-30-126-152 gitlab]# ls
    config_backup  gitlab.rb  gitlab-secrets.json  gitlab-secrets.json.bak  initial_root_password  trusted-certs
    
    ## 重新加载配置
    gitlab-ctl reconfigure
    
    ##重启gitlab服务
    gitlab-ctl restart
    
    至此原始版本13.8.8的数据已经成功迁移到了ec2服务器上面
    
    

gitlab版本升级

本次升级将把gitlab版本升级到最新版本从13.8.8升级到15.4.2

gitlab升级不能跨版本升级,只能一个个版本逐次升级,升级路径见gitlab官网

gitlab升级路径:https://docs.gitlab.com/ee/update/index.html#upgrade-paths
8.11.Z -> 8.12.0 -> 8.17.7 -> 9.5.10 -> 10.8.7 -> 11.11.8 -> 12.0.12 -> 12.1.17 -> 12.10.14 -> 13.0.14 -> 13.1.11 -> 13.8.8 -> 13.12.15 -> 14.0.12 -> 14.3.6 -> 14.9.5 -> 14.10.Z -> 15.0.Z -> 15.4.0 -> latest 15.Y.Z

可以使用上面的Upgrade Path Tool进行更细致的版本升级路径
https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/


  • 从13.8.8版本升级到13.12.15

    ## yum安装升级到13.12.15
    yum -y install gitlab-ce-13.12.15
    
    ##加载配置
    gitlab-ctl reconfigure
    
    这一步要尤其注意,查看有没有报错,报错上面有很明确的指引,执行命令,直到不报错为止
    
    ## 重启服务
    gitlab-ctl restart
    
    登录到gitlab上查看各个项目是否正常,http://172.30.126.152/help查看版本号
    
  • 后续版本的更新重复上面步骤,需要注意的是每升级一次版本就需要重新加载配置,查看有无报错,按照报错指引操作,再重启服务。确认版本升级没有问题了再是升级下一个版本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值