标签:gitlab
环境:系统版本ubuntu14.04 、gitlab-ce.8.11.3
升级要求:系统升级为目前最新的LTS版本的ubuntu16.04、gitlab升级为最新的版本
升级可以有两种方案:
一种类似于迁移(重新找台机器,系统直接安装ubuntu16.04,然后安装gitlab版本和原版本一致,进行数据迁移后确认数据无误后再对gitlab进行升级)。
另一种直接在原机器上,首先对系统升级,然后对gitlab升级。
1、直接在原机器上升级的方案:
升级前备份数据:
停止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升级:
gitlab-ctl stop 更换apt源后更新(将apt源替换为16.04的xenial版本) apt-get -y update apt-get -y upgrade apt-get -y dist-upgrade
系统更新后启动gitlab,开始进行gitlab的更新
gitlab-ctl restart gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-ctl stop nginx
更新gitlab的两种方法:
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、类似于迁移的方案:
迁移前备份数据:
停止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版本一致):
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的一些服务:
gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-ctl stop nginx
更新gitlab的两种方法:
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进行升级前,软件会自动备份数据库中的数据,并对数据库进行一些操作。
参考:https://docs.gitlab.com/omnibus/README.html
本文出自 “甘木” 博客,请务必保留此出处http://ganmu.blog.51cto.com/9305511/1957416
标签:gitlab
原文地址:http://ganmu.blog.51cto.com/9305511/1957416