• Gitlab数据迁移和版本升级


    公司的Gitlab服务器过于老旧,准备迁移到新机器上去,而且使用的还是9.5.4版本,许多新功能不支持,因此同时对其进行升级。

    数据迁移

    总体流程分为三个部分:

    1. 在新机器上安装相同版本的gitlab。
    2. 将备份数据拷贝到对应的目录下
    3. 导入数据

    查看Gitlab版本

    # 方法一:
    [root@gitlab ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    9.5.4
    
    # 方法二:
    [root@gitlab ~]# gitlab-rake gitlab:env:info
    System information
    System:
    Current User:	git
    Using RVM:	no
    Ruby Version:	2.3.3p222
    Gem Version:	2.6.6
    Bundler Version:1.13.7
    Rake Version:	12.0.0
    Redis Version:	3.2.5
    Git Version:	2.13.5
    Sidekiq Version:5.0.4
    Go Version:	unknown
    
    GitLab information
    Version:	9.5.4
    Revision:	fbffc27
    Directory:	/opt/gitlab/embedded/service/gitlab-rails
    DB Adapter:	postgresql
    URL:		http://192.168.0.149
    HTTP Clone URL:	http://192.168.0.149/some-group/some-project.git
    SSH Clone URL:	git@192.168.0.149:some-group/some-project.git
    Using LDAP:	no
    Using Omniauth:	no
    
    GitLab Shell
    Version:	5.8.0
    Repository storage paths:
    - default: 	/var/opt/gitlab/git-data/repositories
    Hooks:		/opt/gitlab/embedded/service/gitlab-shell/hooks
    Git:		/opt/gitlab/embedded/bin/git
    

    新机器上安装Gitlab

    关于安装和备份具体内容可以参考我之前的一篇随笔Gitlab安装配置及数据备份

    可以直接下载好对应的rpm或者deb包,直接安装即可,这里因为是迁移,所以安装完成后不需要设置,配置文件可以直接从旧机器上拷贝过来。

    这边安装好先不要急着初始化配置,等后面配置文件拷贝过来后在初始化。

    备份数据

    备份数据分为两个部分,一部分是数据备份,另一部分就是配置文件的备份。

    拷贝数据

    备份完成后将文件拷贝到新服务器上去。数据备份.tar文件,配置文件gitlab.rb和gitlab-secrets.json要放到各自对应的目录下。

    数据备份文件默认是在/var/opt/gitlab/backups/目录,配置文件位于/etc/gitlab/目录下。

    导入数据

    # 初始化配置
    [root@gitlab ~]# gitlab-ctl reconfigure
    
    # 数据恢复
    # 这一步会清空gitlab中原有的表和数据,需要输入两次yes确认
    [root@gitlab ~]# gitlab-rake gitlab:backup:restore BACKUP=1615393140_2021_03_11_9.5.4
    
    # 恢复完成后启动Gitlab
    [root@ubuntu1804:~]# gitlab-ctl start 
    

    版本升级

    官方文档

    gitlab允许小版本直接升级,而大版本需要阶段升级。

    此次升级路线为:

    9.5.4 -> 9.5.10 -> 10.8.7 -> 11.11.8 -> 12.0.3-> 12.10.9

    升级前先停止gitlab数据连接服务:

    [root@gitlab src]# gitlab-ctl stop unicorn
    [root@gitlab src]# gitlab-ctl stop sidekiq
    

    升级到9.5.10版本(9版本中最后一个版本):

    # 开始升级
    [root@gitlab src]# yum -y install ./gitlab-ce-9.5.10-ce.0.el7.x86_64.rpm
    
    # 升级后再次启动下gitlab,查看下是否可以正常使用
    [root@gitlab src]# gitlab-ctl start sidekiq
    ok: run: sidekiq: (pid 28288) 0s
    [root@gitlab src]# gitlab-ctl start unicorn
    ok: run: unicorn: (pid 28315) 0s
    
    # 查看版本号
    [root@gitlab src]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    9.5.10
    

    没有问题后再继续升级10.8.7:

    [root@gitlab src]# gitlab-ctl stop unicorn
    [root@gitlab src]# gitlab-ctl stop sidekiq
    [root@gitlab src]# yum -y install ./gitlab-ce-10.8.7-ce.0.el7.x86_64.rpm
    [root@gitlab src]# gitlab-ctl start sidekiq
    [root@gitlab src]# gitlab-ctl start unicorn
    [root@gitlab src]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    10.8.7
    

    后续升级重复上述操作即可。
    中间或许有些小坑,可以google一下,都不是什么大问题。

    以上

  • 相关阅读:
    STM32 时钟配置分析
    STM32 开发板资源梳理
    STM32 摄像头实验OV2640
    STM32 TFT液晶屏与FSMC
    STM32 开发板电源与供电方式
    视觉里程计07 Qt的一些bug修改记录
    解决wireshark检测不到网卡的问题
    gdb 脚本调试
    [转] GCC 中的编译器堆栈保护技术
    使用gdbserver远程调试
  • 原文地址:https://www.cnblogs.com/wuvikr/p/14524266.html
Copyright © 2020-2023  润新知