背景
这里打补丁是指,版本号的第三位更新,如8.14.0->8.14.2等,这里只是更新patch,所以会有部分不同于升级Gitlab CE的版本号。
这里也有官方的文档,实际操作过程中有点出入,以8.14.0升级到8.14.2为背景做一份记录,
过程
1 | 首先备份一下是没有错的 |
进行到这一步的时候可能会出现提示,说gem缺失,这里官网没有说,所以要执行一下gem install1
$ sudo -u git -H tsocks bundle install --without development test mysql --deployment
这里的tsocks为使用代理的命令,如果连接了VPN就不需要了,相关内容可以查看proxy相关内容,然后再次执行刚才的命令。
如果还有错误,就要尝试用下面这个方法了,v1.0.1是gitlab/GITLAB_WORKHORSE_VERSION里面指定的VERSION1
2
3
4$ cd /home/git/gitlab-workhorse
$ sudo -u git -H git fetch --all
$ sudo -u git -H git checkout v1.0.1
$ sudo -u git -H make
这样就可以了。然后1
2
3
4
5
6
7
8
9 cd /home/git/gitlab
如果之前那一步已经运行过了就不用了
sudo -u git -H tsocks bundle install --without development test mysql --deployment
下面这一条可选
sudo -u git -H bundle clean
数据库更新
sudo -u git -H bundle exec rake db:migrate RAILS_ENV=production
静态数据和缓存更新,这一步会比较久
sudo -u git -H bundle exec rake assets:clean assets:precompile cache:clear RAILS_ENV=production
这样就完成了,然后重启一下相关服务1
2$ sudo service gitlab start
$ sudo service nginx restart
最后检查一下,1
2
3
4 检查相关环境
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
检查运行情况
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production
如果一片绿色,说明完成了。
一些说明
这个官方文档最后没有写升级失败了怎么办,不过办法应该和版本升级差不多,就是找前一个版本到这个版本的升级DOC,比如我如果这次升级失败了,那我就把最开始备份的恢复一下,然后找8.13到8.14的升级DOC来一遍。没有实践过,但是应该是没问题的。