环境:系统版本ubuntu14.04 、gitlab-ce.8.11.3
升级要求:系统升级为目前最新的LTS版本的ubuntu16.04、gitlab升级为最新的版本
升级可以有两种方案:
一种类似于迁移(重新找台机器,系统直接安装ubuntu16.04,然后安装gitlab版本和原版本一致,进行数据迁移后确认数据无误后再对gitlab进行升级)。
另一种直接在原机器上,首先对系统升级,然后对gitlab升级。
1、直接在原机器上升级的方案:
升级前备份数据:
1
2
3
4
5
6
7
|
停止gitlab备份数据
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
gitlab-rake gitlab:backup:create
ls /var/opt/gitlab/backups/
到阿里云中对gitlab机器创建快照,并把备份的gitlab数据拷贝出来
|
ubuntu14.04升级:
1
2
3
4
5
|
gitlab-ctl stop
更换apt源后更新(将apt源替换为16.04的xenial版本)
apt-get -y update
apt-get -y upgrade
apt-get -y dist-upgrade
|
系统更新后启动gitlab,开始进行gitlab的更新
1
2
3
4
|
gitlab-ctl restart
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
|
更新gitlab的两种方法:
1
2
3
4
5
6
7
8
9
10
11
|
1、使用dpkg安装包的方法
把下载好的gitlab_9.4.3版本传到gitlab服务器上使用dpkg进行安装
dpkg -i gitlab-ce_9.4.3-ce.0_amd64.deb
gitlab-ctl restart
2、使用apt-get的方法
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
apt-get update
apt list|grep gitlab
apt install -y gitlab-ce
gitlab-ctl restart
|
2、类似于迁移的方案:
迁移前备份数据:
1
2
3
4
5
6
7
|
停止gitlab备份数据
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
gitlab-rake gitlab:backup:create
ls /var/opt/gitlab/backups/
到阿里云中对gitlab机器创建快照,并把备份的gitlab拷贝到新机器上
|
ubuntu16.04安装好gitlab后进行恢复数据(此时安装的gitlab版本和原机器上的gitlab版本一致):
1
2
3
4
5
6
7
8
9
10
11
|
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
ll /var/opt/gitlab/backups/
chown git:git /var/opt/gitlab/backups/1502516978_gitlab_backup.tar
ll /var/opt/gitlab/backups/1502516978_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1502516978
数据恢复后,gitlab数据仓库目录权限会发生变化,如果不更改,在后面升级gitlab时会出错
ls -ld /var/opt/gitlab/git-data/repositories
chmod 2770 /var/opt/gitlab/git-data/repositories
gitlab-ctl restart
|
确保数据无误后,开始升级gitlab,升级前先停止gitlab的一些服务:
1
2
3
|
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
|
更新gitlab的两种方法:
1
2
3
4
5
6
7
8
9
10
11
|
1、使用dpkg安装包的方法
把下载好的gitlab_9.4.3版本传到gitlab服务器上使用dpkg进行安装
dpkg -i gitlab-ce_9.4.3-ce.0_amd64.deb
gitlab-ctl restart
2、使用apt-get的方法
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
apt-get update
apt list|grep gitlab
apt install -y gitlab-ce
gitlab-ctl restart
|
说明:升级时之所以没有停止数据库服务,是因为当gitlab进行升级前,软件会自动备份数据库中的数据,并对数据库进行一些操作。
本文转自 f_066 51CTO博客,原文链接:http://blog.51cto.com/ganmu/1957416,如需转载请自行联系原作者