GitLab 7.10升级8.6.1的一些问题

看到这货几乎每天一个小版本,妥妥的版本帝,要是修复的那些问题自己不会触发的话,升不升也没什么区别

不过我已经落后一个大版本,而且新版的界面更好看,而且性能更好,而且升级上去有种说不出的感觉,升级强迫症..

正所谓小升怡情,大升伤身,事前还是找多点文档看看,做好准备

虽然大多数博客升级都是一路顺,不会有错误,不会有莫名其妙的问题,简直就是新闻里的和谐社会

但是,到自己操作的时候,呵呵

PS:gitlab是运行在虚拟机中

之前偷懒用的是一键安装包,所以继续用一键安装

这里是下载地址

官网上也有自动升级脚本,但是下载速度完全不能体现联通百兆的威力,索性自己用115离线后再拖回来(即使翻墙下载也只有6M/s)

下载完后,开始备份原有的数据,以防万一(如果是虚拟机里面跑的话,也顺便建立个快照吧)

来吧,执行命令

sudo dpkg -i gitlab-ce_8.6.1-ce.0_amd64.deb

begin

嗯,还好,程序会自动备份一次

过了一会儿后,突然间就冒出这一堆东东

error

大大的error,瞬间闪瞎

psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket “/var/opt/gitlab/postgresql/.s.PGSQL.5432”?

搜索了下,找到个不靠谱的方法,说在某个地方创建个文件夹,再次执行安装,会跳过此操作

但这是要连接数据库的关键喔,能逃得了安装,能逃得掉平常使用?

重新尝试升级的时候,这一步是必须做的,7.10版本可以,估计是8.6要求的权限不同

sudo touch /etc/gitlab/skip-auto-migrations

创建后,继续安装,一切顺利

提示需要运行reconfigure,既然你诚心诚意的提示,那我就大发慈悲运行

运行后,没什么异常,我们还需要对数据关系处理下,执行命令

sudo gitlab-rake db:migrate:status

然后会见到很多down和up,down状态的那些需要处理,执行命令

sudo gitlab-rake db:migrate

人生不可能一帆风顺,升级也一样,我选择狗带

错误提示和截图

— execute(“SELECT true AS enabled FROM pg_available_extensions WHERE name = ‘pg_trgm’ AND installed_version IS NOT NULL;”) ;
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

这是什么意思?要我去自己建表?你不会自己建啊?他好像没权限建

好吧,怪错你,执行命令连接数据库

sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production

跟进入mysql一样耶~~萌新,进入后再执行

CREATE EXTENSION pg_trgm;

那我们来思考下,这个extension是什么东东,create table比较常见,我也是第一次见

谷歌一下,看不懂英文,大概意思是创建扩展

退出方式出乎意料,用\q才可以,我的智商已经被碾碎

接着执行之前的升级命令,没有任何错误,全都变成up状态

然后再执行下reconfigure和重启下gitlab,打开网页,看看是否正常运行

***,网页报502错误,执行命令以查看实时日志(第二次说这个命令,往后就不再说了)

sudo gitlab-ctl tail

其中提示没有权限

2016-04-09_10:00:46.30577 could not connect to server: Permission denied
2016-04-09_10:00:46.30580       Is the server running locally and accepting
2016-04-09_10:00:46.30580       connections on Unix domain socket "/var/opt/gitlab/postgresql/.s.PGSQL.5432"?

苦苦搜索,连影子什么的完全没摸到,索性建个新系统,全新安装gitlab8.6,看看postgresql的权限

正常的应该是这样子

normal

上面报错的却是这样子

缺少了文件组和其他用户权限,那就改下

sudo chmod 755 postgresql/

刷新下网页,界面显示正常,日志输出正常,提交记录正常

终于升上8.6.1~~

总结下,升级需要的操作

创建文件skip-auto-migrations

修改 postgresql文件夹权限为755

安装

处理数据库

重启gitlab

搞定

2 Replies to “GitLab 7.10升级8.6.1的一些问题”

  1. PostgreSQL socket file找不到应该是你把PostgreSQL停掉了所以更新失败,这个在Ubuntu下apt-get upgrade也会有这个问题。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注