您的当前位置:首页>全部文章>文章详情

Gitlab旧服务器迁移新服务器

发表于:2024-05-21 17:28:10浏览:217次TAG: #git #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'] = 8099nginx['enable'] = truenginx['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版本的登录图。。。