因为某些原因gitlab所在的服务器被植入了挖矿,所以觉得迁移一下服务器,以下就是踩坑的记录,我会一一解释
在确定xshell连接上俩台服务器后,一台是原服务器(有挖矿的)A,一台是新服务器B(特别注意:俩服务器上的gitlab版本一定要百分百一致)
1.首先需要把原服务器上的gitlab上的数据和记录还有账号信息都需要进行备份
命令如下:gitlab-rake gitlab:backup:create 这个只是备份数据账号信息和备份,如果gitlab上有钩子的话,那么这个是备份不了的,但是后续会说到如何把钩子给一起备份过来
当备份完成后,会在/var/opt/gitlab/backups 这个目录下生成一个压缩文件,记住这个压缩文件,很重要。划重点,会考到的
2.我们把目光转移到新服务器B上来,首先需要去下载一下gitlab的压缩包,然后再运行gitlab去安装
命令如下:下载gitlab wget http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-你需要的版本号-ce.0.el7.x86_64.rpm
这个下载好了后会出现一个压缩文件,不要怀疑,接下来,运行安装它,
命令如下:yum install -y gitlab-ce-你下载下来的版本号-ce.0.el7.x86_64.rpm
这个时候基本上你需要等待安装完毕,然后你可以找 /etc/gitlab 这个目录,里面有gitlab.rb这个配置文件,如果没有,那么恭喜你,重新再来一遍。然后如果你需要在新服务上配置要试运行,那么你可以去改这个文件下面的external_url 改成服务器ip就可以了,一定要加http:// 。
然后这个时候记得无论改了什么或者没有改什么都要运行一下这俩个命令,因为需要启动gitlab这个服务
1.gitlab-ctl reconfigure 这个是运行配置文件并启动
2.gitlab-ctl restart 这个是再次重新启动
启动成功的话应该是一排的run,
然后用你设置好的服务器lip :http://xxx.xxx.xx.xx 去浏览器上打开,如果出现gitlab登录页面就是成功了
至此新的服务器搭建gitlab是成功了,
3.第一步的时候在原服务器备份的文件你可以转移到新的服务器上,命令如下
scp xxxx.tar root@转移的目标服务器:/var/opt/gitlab/backups (注意备份的编号!!!!)
然后到新服务器上的/var/opt/gitlab/backups这个目录下去看,然后在运行这个备份信息,把数据给还原
命令如下:gitlab-rake gitlab:backup:restore BACKUP=备份编号 这个是很重要的一步,主要是备份编号!!!!!这个很重要,然后,如果gitlab上有钩子需要同时转移,记住,找到原服务器上/etc/gitlab/gitlab-secrets.json这个json文件,然后直接复制或者转移到新服务器下同样的位置上覆盖掉原来的json文件,然后这个时候就是基本上可以在新服务器上运行girlab了,那么最后再次运行一下gitlab-ctl reconfigure 和gitlab-ctl restart 这俩个命令就可以了
总结踩坑记录:
1:就是钩子问题,那个json文件一定要重新覆盖一下,
2:如果在新服务器上运行备份文件如果不成功,可以看下上级文件的权限是不是777,因为不是777的话,会导致解压失败
3:然后就是备份文件的编号问题了,这个也要稍微注意一下
4:就是在改gitlab.rb这个文件的时候如果加入了端口的话,那么提前确认端口是否开启,否则会访问失败的,还有一个防火墙的问题,也可以注意一下,我这边新服务器和老服务器都是关闭防火墙的!