记录一次Gitlab迁移操作踩的坑

记录一次Gitlab迁移过程踩的坑:

一、保证两个服务器gitlab版本一致

查看版本命令:
1
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    笔者这里用的10.0.0版本

旧服务器备份
    备份时需要保持gitlab处于正常运行状态,直接执行`gitlab-rake gitlab:backup:create`进行备份

新服务器环镜
    推荐用阿里云镜像市场中的gitlab镜像
    <https://market.aliyun.com/products/?keywords=gitlab>
    搜索gitlab,选择第一个,然后购买之后升级到与旧服务器一样的版本,这里升级到10.0.0,这里阿里的镜像是9,不需要跨版本
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
    注意如果版本过低需要一步一步升级,不支持夸版本升级。夸版本升级参考:
    <https://blog.csdn.net/weixin_34288121/article/details/91423771>
    
    下载包后关闭GitLab核心服务:
1
2
3
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
    包管理器安装:
        `rpm -Uvh 包名`
        本例:
        `rpm -Uvh gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm`

    安装后重启
        `gitlab-ctl restart`

    部分CentOS版本较低未自带policycoreutils-python组件可能无法升级至10.x,需要手动安装后再升级:
        `yum -y install policycoreutils-python`

到此完成了两个版本对齐的操作。

二、发送旧服务器备份包到新服务器的相同文件夹下

我用的xshell+xftp访问服务器,直接xftp可视化操作完成

也可用scp命令:
    再旧服务器上输入:`scp /var/opt/gitlab/backups/`备份文件名 `root@这里填新服务器ip地址:/var/opt/gitlab/backups/`
    之后会让你输入新服务器密码,输入之后就等着传输完成,一般都比较大500M以上,可以小酌一杯。

三、新服务器安装备份实现迁移

1.给备份包满权限
    进入 `/var/opt/gitlab/backups/`
    `chmod 777 包名`

2.停止相关数据连接服务
    `gitlab-ctl stop unicorn`
    `gitlab-ctl stop sidekiq`

3.安装备份包
    `gitlab-rake gitlab:backup:restore BACKUP=包id`
    之后输入两次yes,安装完成!

4.重启gitlab,大功告成!
    `gitlab-ctl start`

错误记录:安装完成登陆后只能看到项目,进去查看发现项目存储库不存在。只剩下个空壳子。
原因:我在恢复的时候把两个配置文件也从旧服务器复制过来覆盖本地了,造成配置文讲出了问题。
解决办法:新服务器的gitlab安装好后,只用恢复旧服务器发过来的备份包就好了,不需要再去搞配置文件,动了反而要出错。

可能帮助到你的链接:
https://www.cnblogs.com/ssgeek/p/9392104.html


记录一次Gitlab迁移操作踩的坑
http://example.com/2020/11/17/记一次在gitlab迁移中踩的坑/
作者
HaoDuck
发布于
2020年11月17日
许可协议