悠长的春节假期来临,可以天不如人愿,原本节前有一堆想要做的事情,可是肺炎袭来,挂水挂到元宵节的节奏。耽误了好多要做的事情,可是计划在假期中要完成的关于Jenkins相应的部署配置还是要做,于是大年初三闲着开始是配置了。先看Jenkins的文档,为啥会有gitlab升级这事呢,此话要从配置gitl webhook说起,在配置Jenkins时候一切进展顺利(jenkins配置另文说明),突然发现公司那个用了四年的gitlab版本不支持webhook的token导致始终没有权限进行webhook。看了下gitlab竟然在8.3.4这个版本上停了三年,当年因为用docker自己封装后一直没有管过。
好吧准备升级11版本吧。首先是备份。
sudo gitlab-rake gitlab:backup:create
# 备份文件存在/var/opt/gitlab/backups,可编辑/etc/gitlab/gitlab.rb修改
# 源码安装使用下面命令备份
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
# docker安装使用下面命令备份
docker exec -t <container name:gitlab> gitlab-rake gitlab:backup:create
# 将备份上传到远程存储(暂无)
# 将备份文件存储到本地
gitlab_rails['backup_upload_connection'] = {
:provider => 'Local',
:local_root => '/mnt/backups'
}
当完成备份后,兴冲冲的从docker上pull了11版本的gitlab,然后
docker run -d -p 8443:443 -p 2222:22 -v /gitnew/:/gitnew gitlab/gitlab-ce:11
gitnew就是原来的gitlab的目录,自以为能够启动了,但是结果傻眼了,500错误,以为通过
gitlab-ctl reconfigure
可以解决,但是然并卵,为啥呢?
调研之后发现原来gitlab并不支持大版本升级,必须先升级到小版本的最后一个版本后才能升级大版本。
于是不断docker run合适的版本纵欲升级成功。。。。
本文为Lokie.Wang原创文章,转载无需和我联系,但请注明来自lokie博客http://lokie.wang