一、本次操作环境:

旧服务器 操作系统:centos7 gitlab:13.12.2 

新服务器 操作系统:Ubuntu  gitlab:13.12.2

二、保持gitlab版本一致

2.1 查看旧服务器gitlab版本

迁移数据前确保新服务器与旧服务器的gitlab版本保持一致,

使用以下命令查看gitlab版本:

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

显示版本为;13.12.2

 2.2 为新服务器安装gitlab

gitlab安装

#切换到root用户
sudo su -

#更新
apt update
apt upgrade -y

#安装和配置必须的依赖项
apt install build-essential curl file git ca-certificates -y

#配置极狐GitLab 软件源镜像
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

#下载GitLab安装包
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_13.12.2-ce.0_amd64.deb/download.deb

#安装
dpkg -i gitlab-ce_13.12.2-ce.0_amd64.deb

gitlab配置

#加载配置文件
gitlab-ctl reconfigure

#配置gitlab地址,修改external_url为'http://服务器ip地址:端口'
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.3.133:9090'

#重新加载配置文件
gitlab-ctl reconfigure

# 重启服务
gitlab-ctl restart

#查看gitlab服务状态
gitlab-ctl status

放行端口

#放行gitlab服务https、http
ufw allow https
ufw allow http
#我这里配置的是2080端口
ufw allow 9090
#开启ufw
ufw enable
#查看ufw状态
ufw status

浏览器访问 http://192.168.3.133:9090,首次登录会提示修改密码。

三、拷贝旧服务器的备份文件到新服务器

3.1 备份旧服务器文件

gitlab-rake gitlab:backup:create

默认将会在 /var/opt/gitlab/backups/ 目录下生成备份文件。文件格式:1684461274_2023_05_19_13.12.2_gitlab_backup.tar

3.2 拷贝备份文件至新服务器中

拷贝备份文件到新服务器中的/var/opt/gitlab/backups/ 目录下

四、恢复文件

4.1 更改备份文件的权限

cd /var/opt/gitlab/backups
chmod 777 1684461274_2023_05_19_13.12.2_gitlab_backup.tar

4.2 停止数据连接服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

4.3 恢复文件

gitlab-rake gitlab:backup:restore BACKUP=1684461274_2023_05_19_13.12.2

注意!!!!BACKUP=1684461274_2023_05_19_13.12.2 不是整个压缩包的名字

根据提示“yes”继续

 4.4 启动gitlab

gitlab-ctl start

五、遇到的问题

遇到以下提示

Restoring PostgreSQL database gitlabhq_production ... ERROR:  must be owner of extension pg_trgm
ERROR:  must be owner of extension btree_gist
ERROR:  must be owner of extension btree_gist
ERROR:  must be owner of extension pg_trgm

该提示信息可以忽略(官方文档说明)Back up and restore GitLab | GitLabicon-default.png?t=N4P3https://docs.gitlab.com/ee/raketasks/backup_restore.html#restoring-database-backup-using-omnibus-packages-outputs-warnings

也可以参考此链接,修改权限

https://www.jianshu.com/p/09a2b0c25ecd

参考文档:

http://t.csdn.cn/3J7xE

http://t.csdn.cn/leCzL

Gitlab恢复数据报错解决方法 - 简书

更多推荐