记录Ubuntu1804 离线安装gitlab (迁移,恢复)
一、搭建gitlab
准备两台Ubuntu1804服务器,将A服务器上面的gitlab数据转移到新搭建的gitlab的服务器B上面(备注:两个gitlab版本要一致,不然恢复不了数据)。
首先查看要转移机器的gitlab版本
A服务器:
输入命令 :cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
B服务器:
在
这里进入下载对应离线gitlab
下载对应版本,远程传入B服务器中
输入命令:sudo dpkg -i gitlab-ce_13.3.5-ce.0_amd64.deb
初始化配置
输入命令:sudo gitlab-ctl reconfigure
初始化时可能会报错
解决方案
1.先停住gitlab:sudo gitlab-ctl stop
2.赋权:sudo chmod 755 /var/opt/gitlab/postgresql
3.执行命令:sudo systemctl restart gitlab-runsvdir.service
4.重新配置:sudo gitlab-ctl reconfigure
5.启动:sudo gitlab-ctl restart
这样就算安装完成了
二、迁移gitlab数据
A服务器:
执行命令:sudo gitlab-rake gitlab:backup:create
进行备份数据时一定要保证gitlab是正常运行的状态,使用此命令会在/var/opt/gitlab/backups目录下创建一个名称,这个压缩包就是Gitlab整个的完整部分了,并且会提示要备份gitlab.rb和gitlab-secrets.json两个文件,这两个文件gitlab.rb和gitlab-secrets.json默认是在/etc/gitlab下面,一并拷出来放在桌面。
这时候就要用ROOT账户远程登录A服务器了,不然压缩包无法放到本机桌面
Ubuntu设置ROOT账户登录:
1.查看ssh是否安装了并启动
输入命令:sudo ps -e | grep ssh
2.如果没有安装ssh就安装ssh服务器
输入命令:sudo apt-get install openssh-server
3.配置sshd文件
输入命令 :sudo vim /etc/ssh/sshd_config
将文件修改成下图然后保存
输入命令:sudo service ssh restart
重启ssh就可以正常用root账户登录了
B服务器:
ROOT账号登录B服务器,将桌面文件1644308851_2022_02_08_13.3.5_gitlab_backup.tar、gitlab.rb和gitlab-secrets.json的压缩包拷贝进入B服务器中
1644308851_2022_02_08_13.3.5_gitlab_backup.tar可用命令cp 拷贝到/var/opt/gitlab/backups目录下
gitlab.rb和gitlab-secrets.json的压缩包拷贝到/etc/gitlab/目录下,将原来的gitlab.rb和gitlab-secrets.json备份,然后删除,再将gitlab.rb和gitlab-secrets.json的压缩包解压在/etc/gitlab/目录下
三、gitlab数据恢复
停止相关数据连接服务:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
修改权限,怕文件因为权限问题无法恢复数据:
sudo chmod 777 /var/opt/gitlab/backups/1644308851_2022_02_08_13.3.5_gitlab_backup.tar
从备份中恢复数据:
sudo gitlab-rake gitlab:backup:restore BACKUP=1644308851_2022_02_08_13.3.5
恢复数据时会提示输入两次yes
等待备份结束之后
输入命令重启gitlab: sudo gitlab-ctl start
到这里数据就全部恢复完成了
如果不记得网页ROOT账户和密码可以重置密码
1.切换路径
cd /opt/gitlab/bin/
2.进入控制台
sudo gitlab-rails console
3.查询root账户信息
u=User.find(1)
4.重置密码(重置密码必须不小于自己设置的账号密码长度,否则重置也登录不上去)
u.password='123456789'
5.确认密码
u.password_confirmation = '123456789'
6.保存
u.save!
7.退出
exit
重启gitlab
sudo gitlab-ctl restart
再次进入gitlab页面就可以使用现在重置的密码了