需求:现在公司使用的gitlab版本号为8.6.1,服务器在阿里云平台上面,要求将源码从阿里云服务器上面迁移到本公司内部服务器
1. 查看gitlab版本
[root@gitlab-server ~]# more /opt/gitlab/embedded/service/gitlab-rails/VERSION
8.6.1
2. 对gitlab进行备份
[root@gitlab-server ~]# gitlab-rake gitlab:backup:create
会生成一个备份文件
[root@gitlab-server ~]# ls /var/opt/gitlab/backups/
1541553997_gitlab_backup.tar
3. 将备份文件拷贝下来,可以使用tftp、winscp等工具
新安装一台centos服务器,保证该服务器能够访问互联网!
安装gitlab所需要的依赖包
yum install curl openssh-server openssh-clients postfix cronie
关闭防火墙,以及selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
添加清华大学的yum源
cat > /etc/yum.repos.d/gitlab-ce.repo << EOF
[gitlab-ce]
name=Gitlab CE Repository
baseurl = https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el\$releasever/
gpgcheck=0
enabled=1
EOF
安装、配置gitlab
yum -y install gitlab-ce-8.6.1
##修改URL,指定本地IP
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.1.24'
##初始化
gitlab-ctl reconfigure
迁移gitlab进行恢复操作
gitlab-ctl stop sidekiq
gitlab-ctl stop unicorn
将备份文件传备份目录下:
ls /var/opt/gitlab/backups/
更改用户组以及权限
chown git /var/opt/gitlab/backups/* -R ;chmod 777 -R /var/opt/gitlab/backups/*
开始还原,BACKUP的编号要一致
gitlab-rake gitlab:backup:restore BACKUP=1541553997
会出现两次交互式界面,都需要输入yes
升级gitlab
(注意:由于升级不能跨越大版本号,因此只能升级到当前大版本号到最高版本,方可升级到下一个大版本号,一定保证数据可以正常访问方可执行下一步升级指令)
yum -y install gitlab-ce-8.17.8
gitlab-ctl reconfigure
yum -y install gitlab-ce-9.5.9
gitlab-ctl reconfigure
yum -y install gitlab-ce-10.8.0
gitlab-ctl reconfigure
yum -y install gitlab-ce-11.3.0
gitlab-ctl reconfigure