centos6 gitlab备份升级转移
本人原服务器A上使用的是gitlab-ce-8.16.0-ce.0.el6.x86_64,工作需要需将其转移到B服务器上,并升级到最新版本,服务器使用centos6.9系统一、备份1.无论做什么大型操作,最先要做的必须是备份好原服务器数据shell> gitlab-rake gitlab:backup:create STRATEGY=copy备份文件在/var/opt...
本人原服务器A上使用的是gitlab-ce-8.16.0-ce.0.el6.x86_64,工作需要需将其转移到B服务器上,并升级到最新版本,服务器使用centos6.9系统
一、备份
1.无论做什么大型操作,最先要做的必须是备份好原服务器数据
shell> gitlab-rake gitlab:backup:create STRATEGY=copy
备份文件在/var/opt/gitlab/backups/下,假设备好的文件为1524827695_2018_04_27_gitlab_backup.tar
注:在备份期间需禁止对gitlab进行任何操作
二、新服务器搭建gitlab
为了备份可用,新服务器上使用跟原服务器相同的版本
此处如果旧服务器已是最新版,可以在新服务器直接使用yum安装
shell> yum install -y gitlab-ce
1.因不是最新版本,需要从https://packages.gitlab.com/gitlab/gitlab-ce上下载所需的版本,此处因为安装系统为centos6,所以下载el6版本
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-8.16.0-ce.0.el6.x86_64.rpm/download.rpm
2.安装git
shell> yum -y install git
3.安装gitlib
shell> EXTERNAL_URL="http://gitlab.example.com" rpm -i gitlab-ce-8.16.0-ce.0.el6.x86_64.rpm
安装好后,修改/etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com'
其上所有的http://gitlab.example.com改成自己要使用的gitlab地址
重新配置升效
shell> gitlab-ctl reconfigure
三、拷贝备份
将备份拷到新服务器/var/opt/gitlab/backups/下
shell> scp root@10.130.161.12:/var/opt/gitlab/backups/1524827695_2018_04_27_gitlab_backup.tar /var/opt/gitlab/backups/
修改备份文件权限,以免恢复备份时出现权限不足的情况
shell> chown git:git 1524827695_2018_04_27_gitlab_backup.tar
shell> chmod 777 1524827695_2018_04_27_gitlab_backup.tar
四、恢复备份
此步参考官方文档https://docs.gitlab.com/ce/raketasks/backup_restore.html#restore-for-omnibus-installations
1.停止数据相服务
shell> gitlab-ctl stop unicorn
shell> gitlab-ctl stop sidekiq
# Verify
shell> gitlab-ctl status
2.恢复备份
此处命令结尾使用的是上面拷贝过来的文件名,但不是全名,取其_gitlab之前的名称即可
shell> gitlab-rake gitlab:backup:restore BACKUP=1524827695_2018_04_27
最开始的时候,会提示输入yes,直接输入即可
3.重置服务
shell> gitlab-ctl restart
shell> gitlab-rake gitlab:check SANITIZE=true
五、升级
升级之前最好看一下官方文档,看一下是否有注意事项
官方gitlab源码及文档地址
https://gitlab.com/gitlab-org/gitlab-ce
omnibug-gitlab升级主页,里面会有注意事项
https://docs.gitlab.com/omnibus/update/README.html
此处提示gitlab从10.0版开始PostgreSQL使用了9.6以上的版本,需先将gitlab升级到9.5.X
查看PostgreSQL版本命令
shell> /opt/gitlab/embedded/bin/psql --version
1.升级9.5.9
(1)仍然https://packages.gitlab.com/gitlab/gitlab-ce上下载9.5.9版本
(2)备份
shell> gitlab-rake gitlab:backup:create STRATEGY=copy
(3)关闭部分gitlab服务
shell> gitlab-ctl stop unicorn
shell> gitlab-ctl stop sidekiq
shell> gitlab-ctl stop nginx
# Verify
shell> gitlab-ctl status
(4)升级
shell> rpm -Uvh gitlab-ce-9.5.9-ce.0.el6.x86_64.rpm
(5)重新配置gitlab
shell> gitlab-ctl reconfigure
(6)重启gitlab
shell> gitlab-ctl restart
2.升级10.7.1
此处重复升级9.5.9步骤即可
六、更改IP(可选)
为了方便工作,迁移后的gitlab服务不更改IP是最好的,所以需将旧服关停,将新服IP和gitlab配置更改为旧服IP
修改/etc/gitlab/gitlab.rb中以下选项为旧服IP
external_url 'http://gitlab.example.com'
修改好后需重新配置和启动gitlab
shell> gitlab-ctl reconfigure
shell> gitlab-ctl restart
注:新迁移和升级完的服务器可能会占用较大内存,可以重启服务器以释放掉迁移和升级时消耗的冗余内存
七、客户端更改git地址
如果使用的是旧服IP,服务端hostkey已变更,客户端需变更本机know_host方可正常工作
Mac: ~/.ssh/known_hosts
Windows: C:\Users\Administrator\.ssh\ known_hosts
将以上文件中关于旧服IP相关的条目删掉即可
八、查找删除旧包
如果在以上步骤中有数据未清理干净,或错误操作导致的需重新安装,可按以下步骤操做
1.停止服务
shell> gitlab-ctl stop
2.查找已安装的包
shell> rpm -qa|grep -i gitlab
3.删除已安装的包
shell> rpm -ev gitlab-ce-10.7.1-ce.0.el6.x86_64
4.删除残余数据
shell> rm -rf /var/opt/gitlab
shell> rm -rf /etc/gitlab
shell> rm -rf /opt/gitlab
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)