记录一次Gitlab迁移操作踩的坑
记录一次Gitlab迁移过程踩的坑:
一、保证两个服务器gitlab版本一致
查看版本命令:
1 | |
笔者这里用的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 | |
包管理器安装:
`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安装好后,只用恢复旧服务器发过来的备份包就好了,不需要再去搞配置文件,动了反而要出错。
记录一次Gitlab迁移操作踩的坑
http://example.com/2020/11/17/记一次在gitlab迁移中踩的坑/