目录
场景:
因业务系统需要满足信创要求,需要更换服务器操作系统为麒麟,原服务器使用Ubuntu,所以需要迁移gitlab。
旧环境 | 新环境 | |
操作系统 | Ubuntu20.04 | Kylin V10 |
gitlab版本包 | gitlab-ce_15.10.2-ce.0_amd64.deb | gitlab-ce-15.10.2-ce.0.el8.x86_64.rpm |
下载地址 | gitlab/gitlab-ce - Packages · packages.gitlab.comAPT/YUM repository for GitLab Community Edition packageshttps://packages.gitlab.com/gitlab/gitlab-ce |
一、KylinV10安装gitlab
yum -y install curl openssh-server openssh-clients postfix cronie policycoreutils-python
rpm -ivh gitlab-ce-15.11.10-ce.0.el8.x86_64.rpm
二、修改HTTP为HTTPS
三、迁移Gitlab数据
1.备份gitlab:
gitlab-rake gitlab:backup:create
备份文件默认在/var/opt/gitlab/backups
可以编辑配置文件进行修改备份路径:/etc/gitlab/gitlab.rb
2.拷贝备份文件去目标服务器:
提示
gitlab.rb
和gitlab-secrets.json
文件包含敏感数据,并未包含在备份中,需要手动备份它们。把这两个目需要的文件拷到目标服务器:
scp -r /var/opt/gitlab/backups/1688350643_2023_07_03_15.11.10_gitlab_backup.tar 192.168.1.1:/var/opt/gitlab/backups/ scp -r /etc/gitlab/gitlab* 192.168.1.1:/etc/gitlab/
3.在新服务器还原备份文件:
gitlab-rake gitlab:backup:restore BACKUP=1688353389_2023_07_03_15.10.2 #还原完成后重新配置gitlab并重启gitlab sudo gitlab-ctl reconfigure sudo gitlab-ctl restart
四、遇到的问题
1、权限与名称不对:
导入时文件需要授权,文件必须放在指定的备份文件路径,且不需要全名称:
gitlab-rake gitlab:backup:restore BACKUP=1688353389_2023_07_03_15.10.2
2、版本不对:
导入时需要与之前版本一致,这里使用的新版本不支持,导致失败。