Gitlab旧服务器迁移新服务器
Gitlab旧服务器迁移新服务器
首先查看原Gitlab版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
我这里是8.8.5版本
下一步去镜像站下载对应的版本
清华源
点击下载到电脑导入服务器或者下载链接
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.8.5-ce.1.el7.x86_64.rpm
开始备份数据
gitlab-rake gitlab:backup:create
echo $?
提示0则表示备份完成
备份地址在 /var/opt/gitlab/backups/下
可以通过scp 或者xftp下载到本地电脑在上传到新服务器
我这里使用的xftp下载后上传的
scp方法如下: #修改xxxxx为新服务器IP地址 回车输入密码
scp 1688178648_gitlab_backup.tar root@xxxxx:/root
安装Gitlab-ce
安装依赖
yum install -y postfix policycoreutils-python openssh-server
上传之前下载对应的gitlab版本到新服务器
开始安装
rpm -ivh gitlab-ce-8.8.5-ce.1.el7.x86_64.rpm
修改配置文件
vim /etc/gitlab/gitlab.rb
修改外部url
external_url 'http://IP:端口'
修改端口
nginx['listen_port'] = 8099
保存退出使配置生效
gitlab-ctl reconfigure
载入原数据
把上传的打包文件放到/var/opt/gitlab/backups/ 并赋予满权限防止导入权限不够出错
cd /var/opt/gitlab/backups/
chmod 777 1688366107_2023_07_03_14.3.6_gitlab_backup.tar
停止unicorn和sidekiq服务,puma服务
gitlab-ctl stop nginx && gitlab-ctl stop puma && gitlab-ctl stop unicorn && gitlab-ctl stop sidekiq
应用备份数据 中途输入两个yes
注意BACKUP=打包的编号
gitlab-rake gitlab:backup:restore BACKUP=1688366107_2023_07_03_14.3.6
重启gitlab服务
gitlab-ctl restart
迁移完成
新服务器IP:8099
若项目进去报500错误是Gitlab数据迁移时的一个缺陷
解决方法:
1、新服务器停止gitlab
gitlab-ctl stop
2、把旧服务器/etc/gitlab/gitlab-secrets.json 文件覆盖到新服务器/etc/gitlab/gitlab-secrets.json 然后按版本执行下面命令
gitlab-ctl start
gitlab-ce版本执行这个:
gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"
Gitlab-EE版本执行这个:
gitlab-rails runner "Project.where(mirror: false).where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"
访问测试
域名访问
修改/etc/gitlab/gitlab.rb
vim /etc/gitlab/gitlab.rb
external_url "http://域名"
nginx['listen_port'] = 8099
nginx['enable'] = true
nginx['client_max_body_size'] = '500m'
备份gitlab-http.conf 自己需要就备份
我已经备份过了直接编辑
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
找到location / {} 这个模块
把proxy_pass 后面的地址改为域名
保存需要重新运行配置
gitlab-ctl reconfigure
启动
gitlab-ctl restart
访问测试域名 这个图是我更新15版本的登录图。。。
至此结束迁移完毕
备注:升级版本看这里 8.8.5-->15.4