团队代码管理从svn转到gitlab,安装的版本是企业版的11.4.0,距今已经过去一年多了,已经落后很多个版本了,最新的版本已经到了13.0.6,本文记录下升级过程及遇到一些问题记录。
GitLAB有严格的版本规范,根据官方文档,升级版本需要先升级到当前版本的最大版本,然后再进行升级下一个版本的最大版本,如有特别说明需要单独再升级某个中间版本。此次我们要进行从11.4.0升级到13.0.6,而文档中说明12版本需要额外的步骤,也就是需要先升级到12.0.x的某个版本,再进行升级到该版本的最大版本,最后要经过四次升级:11.4.0-->11.11.8-->12.0.12-->12.10.11-->13.0.6。
steps 1:备份
1.查看当前的版本:cat /opt/gitlab/embedded/service/gitlab-rails/VERSION11.4.0-ee# 复制策略而不是默认流策略,可以指定STRATEGY = copysudo gitlab-rake gitlab:backup:create STRATEGY=copy
steps 2:升级安装
下载好四个升级的版本gitlab-ee-11.11.8-ee.0.el7.x86_64.rpmgitlab-ee-12.0.12-ee.0.el7.x86_64.rpmgitlab-ee-12.10.11-ee.0.el7.x86_64.rpmgitlab-ee-13.0.6-ee.0.el7.x86_64.rpm# 停止gitlabgitlab-ctl stop sidekiqgitlab-ctl stop unicornyum install gitlab-ee-11.11.8-ee.0.el7.x86_64.rpm# yum安装完成后会提示备份以下两个文件:cp /etc/gitlab.rb /etc/gitlab.rb.bkcp /etc/gitlab-secrets.json /etc/gitlab-secrets.json.bkgitlab-ctl reconfiguregitlab-ctl restart
安装完成后务必登录验证下是否正常,如果报502可以先等会,有时候组件并未完全启动完成,稍等一会就好了。
steps 3:检查后台迁移任务
# Once the node is updated and reconfigure finished successfully, complete the migrations withsudo gitlab-rake db:migrate# 检查迁移状态sudo gitlab-rake db:migrate:status#### Checking for background migrations before upgrading# If using GitLab 12.9 and newer, run:sudo gitlab-rails runner -e production 'puts Gitlab::BackgroundMigration.remaining'# If using GitLab 12.8 and older, run the following using a Rails console:sudo gitlab-rails console> puts Sidekiq::Queue.new("background_migration").size> Sidekiq::ScheduledSet.new.select { |r| r.klass == 'BackgroundMigrationWorker' }.size
两者显示为0说明迁移任务完成,如果不为0,可以通过看板查看,
地址:http://ip:port/admin/sidekiq/把迁移任务添加到执行中即可。
每次升级完成,就要检查这两项,才能进行下一个版本升级。
# 然后依次升级yum install gitlab-ee-12.0.12-ee.0.el7.x86_64.rpmyum install gitlab-ee-12.10.11-ee.0.el7.x86_64.rpmyum install gitlab-ee-13.0.6-ee.0.el7.x86_64.rpm重复step 1 --> step 2 --> step 3
升级完成如图:
全新的配置:最新版Puma becoming default web server instead of Unicorn,可修改相应配置:
额外一点:如果你有使用CI功能,需要相应升级下gitlab-runner:
for CentOS or Red Hat Enterprise Linux:
1.rpm -i gitlab-runner_.rpm
2.Register the Runner
文档地址:https://docs.gitlab.com/runner/install/linux-manually.html