Gitlab升级至7.0
•
本次维护历时1小时15分钟,服务共中断49分钟。
Gitlab7.0放弃了对ruby-1.9.3的支持,最低版本为ruby-2.0.0。由于官方安装说明指出:使用rvm等自动工具安装ruby,可能导致ssh操作仓库异常,因此手动编译了ruby-2.0.0-p481。
在安装编译环境和ruby依赖时发现apt-get中许多软件包的依赖关系有问题,经过修复解决了一部分依赖问题,到目前为止仍然有部分包的依赖关系不正确。
由于重装了ruby-gem,因此需要重装Gitlab所需的所有gems
安装rubygem:mysql时,提示:
unable to convert “\xE0” from ASCII-8BIT to UTF-8 for lib/mysql2/mysql2.so, skipping
这是由于locale设置错误引起的
解决办法:
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
另外,为nginx配置增加了X-Forwarded-Forh和X-Frame-Options字段.
Gitlab官方升级教程存在缺陷,本次的升级脚本添加了service启动脚本的替换。
目前遗留问题:
- Gitlab给出了nginx的https配置模板,但是,我为当前配置添加X-Forwarded-Proto字段时报错“could not build the proxy_headers_hash, you should increase either proxy_headers_hash_max_size: 512 or proxy_headers_hash_bucket_size: 64”
- Gitlab的主配置文件config.yml过期,之前升级版本时都没有注意更新,导致最新版本的配置和当前配置相差较大,合并较困难。幸运的是,这暂时还没有引发问题。
7.0主要特性:
- 受保护的分支不能被删除
- 开发人员可以使用UI清除普通分支
- 增强对第三方CI工具的支持
- 通过向markdown文本拖动图片,即可将图片上传并插入到markdown中(赞)
- 允许对huge push设置提醒
- 支持LDAP过滤器
- 移除wall功能
- 增强对移动客户端的支持
- 其他逻辑改进
- 其他安全性改进
- 其他UI改进