首先查看原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

安装依赖
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



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