Gitlab升级相关

gitlab旧版本经常会曝出一些远程代码执行漏洞,需要升级到安全版本,这里记录一下rpm升级操作步骤,其他方式比如yum安装的gitlab可以参考官网说明:

1.gitlab不允许直接跨大版本升级,需要先升级到当前大版本的最后一个小版本,然后再升级下一个大版本的第一个小版本,

  比如:11.0.x -> 11.11.x -> 12.0.x -> 12.10.x -> 13.0.x

2.下载对应版本的RPM包,下载地址:https://packages.gitlab.com/gitlab/gitlab-ce,例如gitlab-ce-13.9.7-ce.0.el7.x86_64上传到

3.停止当前的gitlab进程,执行以下命令:

  gitlab-ctl stop puma

  gitlab-ctl stop sidekiq

  gitlab-ctl stop nginx

4.rpm -Uvh gitlab-ce-13.9.7-ce.0.el7.x86_64

5.一般而言RPM升级结束后会自动重启gitlab,可以使用命令gitlab-ctl status查看,所有子进程都为run状态则说明重启成功。如果有部分子进程没有重启,则手动执行以下命令重启:

  gitlab-ctl restart

======================== gitlab 升级后500解决办法 ========================

升级以后如果访问出现500页面,可能是数据库关系迁移失败导致的:

1.执行 gitlab-rake db:migrate:status 查看,如果有down状态的,则执行步骤2

2.gitlab-rake db:migrate 升级数据库关系

3.重复步骤1,如果全部up,则执行 gitlab-ctl reconfigure

======================== 13.9.7升级14.8.4排坑 =======================

1.按照之前的方式,下载了13.12.15、14.0.0和14.8.4的包,依次升级到14.8.4后reconfigure报错

2.此时先修改gitlab.rb中gitlab_rails[auto_migrate]配置项为false(否则无法reconfigure成功,则无法回退版本)

3.执行reconfigure成功后,执行rpm -Uvh --oldpackage回退到14.0.0版本,此时访问500

4.执行gitlab-rake db:migrate:status 发现有很多down的任务,执行gitlab-rake db:migrate,然后reconfigure,访问正常

5.升级到14.8.4后执行gitlab-rake db:migrate时出现错误关键字CopyColumnUsingBackgroundMigrationJob,

在官网查看得到结果(https://docs.gitlab.com/ee/user/admin_area/monitoring/background_migrations.html#database-migrations-failing-because-of-batched-background-migration-not-finished)

发现有以下几句:

Instances running 14.0.0 - 14.0.4 should not upgrade directly to GitLab 14.2 or later, because of batched background migrations.

Upgrade first to either:

14.0.5 or a later 14.0.Z patch release.

14.1.0 or a later 14.1.Z patch release.

Batched background migrations need to finish before you update to a later version and may take longer than usual.

于是知道需要先升级到14.0.5,并且需要在升级前完成所有的后台数据迁移任务

继续查看升级到14.2.X的说明,也进一步证实这点

6.于是下载14.0.5和14.2.0的包,先升级到14.0.5,然后有以下两种方式查看后台迁移任务是否完成:

用管理员账号登录gitlab,点击Menu -> Admin -> Monitoring > Background Migrations. 查看后台迁移任务状态

执行gitlab-rails dbconsole命令,然后select * from batched_background_migrations where status <> 3;

7.如果所有后台迁移任务都完成,则继续升级到14.2.0

8.等待一天发现14.0.5有一个events表的后台迁移任务仍然无法结束,根据文档使用以下命令尝试手动结束任务

gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,events,id,'[["id"]\, ["id_convert_to_bigint"]]']

结果命令无法识别,发现这是14.1的命令,于是尝试先升级到14.1.0

9.升级到14.1.0后,使用步骤8命令停止后台迁移进程成功,使用步骤6方法连接db,

执行select * from batched_background_migrations where job_class_name = 'CopyColumnUsingBackgroundMigrationJob',发现events任务状态为3(结束)

10.升级到14.8.4成功

总结:

第一步:13.9.7 -> 13.12.15 -> 14.0.0

第二步:14.0.0 -> 14.1.0,等待后台迁移任务(这一步耗时较长,可能需要几个小时,但是务必等待大部分任务结束,否则可能需要回退版本再次等待,回退版本命令 rpm -Uvh --oldpackage gitlab-xxx.rpm)

第三步:如果有后台迁移任务卡住无法结束,则使用gitlab-rake gitlab:background_migrations:finalize手动结束,gitlab-rake db:migrate:status查看是否有down状态任务,有则需要gitlab-rake db:migrate和reconfigure

第四步:14.1.0 -> 14.8.4

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容