gitlab升级维护及升级容易出现的问题
早先给公司内网搭建了一套基于Git的服务器GitLab,GitLab升级包更新较快,笔者在升级过程中记录下爬的教程以及遇到了不少的问题,现在分享给出来以供需要时参考。积攒多年的血泪教训,升级之前做备份,另外笔者安装的是一键安装包,所以按照一键安装包的升级方式来操作,参考GitLab官方升级教程:https://about.gitlab.com/upgrade-to-package-repository/ 但原文过于简单,不太放心,另外参考了英文帮助:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/update/README.md#updating-from-gitlab-66-and-higher-to-the-latest-version
备份GitLab
修改默认备份目录:
默认备份目录是/var/opt/gitlab/backups,如果不想修改可以略过此步,编辑文件/etc/gitlab/gitlab.rb,找到代码
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" 移除该行代码前的注释并修改目录:
# gitlab_rails['backup_path'] = "/home/backups" 在修改完后需要键入gitlab-ctl reconfigure命令重载配置文件即可。
执行备份:
直接执行下述代码:
gitlab-rake gitlab:backup:create 显示执行成功:
Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... doneDumping repositories ...
* group/project ... doneDumping uploads ...doneDumping builds ...doneDumping artifacts ...doneDumping lfs objects ...doneCreating backup archive: 1453173545_gitlab_backup.tar ... doneUploading backup archive to remote storage... skipped
Deleting tmp directories ... donedonedonedonedonedonedoneDeleting old backups ... skipping
升级GitLab
下载完整包
笔者想过下载个很小的升级包是不是就可以了,答案是否定的,而且由于一些原因,下载比较费力,老老实实用迅雷去下载吧。
先前往packages页面:https://packages.gitlab.com/gitlab/gitlab-ce,找到自己对应系统,笔者是CentOS7,下载rpm包
点击gitlab-ce-8.3.4-ce.0.el7.x86_64.rpm进入下载页,点右上角Download,生成下载链接后用迅雷下载,否则龟速
上传gitlab-ce-8.3.4-ce.0.el7.x86_64.rpm到服务器/root目录下
开始升级
回到linux命令行,依次键入命令(最后一步是备份意思,可以活力)
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
sudo gitlab-ctl stop nginx
sudo gitlab-rake gitlab:backup:create
然后键入安装命令
# Ubuntu/Debian系统:sudo dpkg -i gitlab_x.x.x-omnibus.xxx.deb# CentOS系统:sudo rpm -Uvh gitlab-x.x.x_xxx.rpm 耐心等待100%完成后,键入重建和重启命令:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
遇到的问题
进程占用
在reconfigure时遇到错误: Chef client 11936 is running,查得Chef client进程占用,查进程列表,键入ps命令
ps 相关gitlab的命令全杀掉,kill -9 11936,-9意思是强制结束进程,11936是进程pid
kill -9 11936 然后重新重建和重启,完美地完成
500错误
前面高兴的太早,访问GitLab发现报500错误,爬文得知大意为DB数据关系错误,需要升级数据库关系
输入以下指令查看数据升级状态
sudo gitlab-rake db:migrate:status 果然发现有一些显示为Down,显示为Up即表示正常同,再执行数据库关系升级
sudo gitlab-rake db:migrate 执行完成再重复重建、重启命令,问题解决
500错误解决参考出处:https://stackoverflow.com/questions/26224649/gitlab-error-500-after-updating-when-viewing-projects?rq=1
####################################上面的部分是转载的###################################
下面说明一下我实际操作的过程
第一:
我先进行了大版本低跨度的升级,比如从8.0.5升级到8.1.3,问题不大
第二:
我参照gitlab官网的说法,建立了本地的gitlab的repo仓库,源使用的是清华大学tuna源,感谢他们,然后系统我使用的是centos系列的,直接进行yum安装,它会自动去做所有的事情,升级,重新配置,包括重启服务,我直接从8.0.5升级到了8.6.2,目前没有发现什么问题
如果有朋友发现了问题,请及时探讨
里面很重要的是数据库的问题,因为使用postgresql,没有详细查询之前的版本,postgresql本身如果不能兼容了,那问题发生的概率会很大
页:
[1]