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/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版本

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




阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

centos6 gitlab备份升级转移

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭