备份数据查看版本信息
在老机器上先进行数据备份
gitlab-rake gitlab:backup:create
使用备份命令后,在/var/opt/gitlab/backups/ 路径下会有备份的一个压缩包
在服务器上需要安装和老git服务同样的版本, 查看老版本gitlab信息
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
新机器CentOS上安装配置gitlab
配置镜像源
vi /etc/yum.repos.d/gitlab-ce.repo
输入:
[gitlab-ce]
name=gitlab-ce
# 清华大学的镜像源
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
配置应用的依赖
# 安装和配置openssh
sudo yum install curl policycoreutils-python openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
# 安装和配置邮件服务
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
我这里是安装的社区版本,需要确定自己的是社区版还是企业版,对应的版本后缀分别为ce(社区版本) 和 ee(企业版)
直接使用yum命令安装
yum install -y 自己gitlab的版本
安装完成后初始化服务
sudo gitlab-ctl reconfigure
修改访问nginx端口配置
vim /etc/gitlab/gitlab.rb
修改external_url对应的ip地址为你当前服务器的ip, 端口保证不与其他服务冲突
配置gitlab的Nginx配置,修改端口和ip地址
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
使用scp命令将老服务的备份tar文件拷贝到新服务器上
拷贝后使用命令恢复拷贝数据
sudo gitlab-rake gitlab:backup:restore BACKUP=1658404804_2022_07_21_14.10.2(这里是你自己的备份文件编号,不需要加后缀)
备份完成后如果gitlab的root账号出现登录不上的情况可以重置gitlab的root账号密码
gitlab-rails console -e production
#如果是低版本的gitlab也可以使用下面的命令
gitlab-rails console production
进入gitlab终端
终端命令设置密码:
irb(main):001:0> user = User.where(username:"root").first
=> #<User id:1 @root>
irb(main):002:0> user.password = "12345679"
=> "12345679"
irb(main):003:0> user.save!
Enqueued ActionMailer::MailDeliveryJob (Job ID: 25a5a138-a99d-4f08-996c-22a88e7c23e8) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", {:args=>[#<GlobalID:0x00007fc2f86abdb0 @uri=#<URI::GID gid://gitlab/User/1>>]}
=> true
完成后登录gitlab服务查看对应的仓库数据是否完整