Gitlab升級相關(guān)

gitlab舊版本經(jīng)常會曝出一些遠程代碼執(zhí)行漏洞,需要升級到安全版本憔购,這里記錄一下rpm升級操作步驟嚎京,其他方式比如yum安裝的gitlab可以參考官網(wǎng)說明:

1.gitlab不允許直接跨大版本升級本冲,需要先升級到當前大版本的最后一個小版本,然后再升級下一個大版本的第一個小版本饿悬,

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

2.下載對應(yīng)版本的RPM包,下載地址:https://packages.gitlab.com/gitlab/gitlab-ce聚霜,例如gitlab-ce-13.9.7-ce.0.el7.x86_64上傳到

3.停止當前的gitlab進程狡恬,執(zhí)行以下命令:

? 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升級結(jié)束后會自動重啟gitlab,可以使用命令gitlab-ctl status查看蝎宇,所有子進程都為run狀態(tài)則說明重啟成功弟劲。如果有部分子進程沒有重啟,則手動執(zhí)行以下命令重啟:

? gitlab-ctl restart

======================== gitlab 升級后500解決辦法 ========================

升級以后如果訪問出現(xiàn)500頁面姥芥,可能是數(shù)據(jù)庫關(guān)系遷移失敗導(dǎo)致的:

1.執(zhí)行 gitlab-rake db:migrate:status 查看兔乞,如果有down狀態(tài)的,則執(zhí)行步驟2

2.gitlab-rake db:migrate 升級數(shù)據(jù)庫關(guān)系

3.重復(fù)步驟1凉唐,如果全部up庸追,則執(zhí)行 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中g(shù)itlab_rails[auto_migrate]配置項為false(否則無法reconfigure成功,則無法回退版本)

3.執(zhí)行reconfigure成功后玄坦,執(zhí)行rpm -Uvh --oldpackage回退到14.0.0版本血筑,此時訪問500

4.執(zhí)行g(shù)itlab-rake db:migrate:status 發(fā)現(xiàn)有很多down的任務(wù),執(zhí)行g(shù)itlab-rake db:migrate煎楣,然后reconfigure豺总,訪問正常

5.升級到14.8.4后執(zhí)行g(shù)itlab-rake db:migrate時出現(xiàn)錯誤關(guān)鍵字CopyColumnUsingBackgroundMigrationJob,

在官網(wǎng)查看得到結(jié)果(https://docs.gitlab.com/ee/user/admin_area/monitoring/background_migrations.html#database-migrations-failing-because-of-batched-background-migration-not-finished)

發(fā)現(xiàn)有以下幾句:

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择懂,并且需要在升級前完成所有的后臺數(shù)據(jù)遷移任務(wù)

繼續(xù)查看升級到14.2.X的說明喻喳,也進一步證實這點

6.于是下載14.0.5和14.2.0的包,先升級到14.0.5困曙,然后有以下兩種方式查看后臺遷移任務(wù)是否完成:

用管理員賬號登錄gitlab表伦,點擊Menu -> Admin -> Monitoring > Background Migrations. 查看后臺遷移任務(wù)狀態(tài)

執(zhí)行g(shù)itlab-rails dbconsole命令谦去,然后select * from batched_background_migrations where status <> 3;

7.如果所有后臺遷移任務(wù)都完成,則繼續(xù)升級到14.2.0

8.等待一天發(fā)現(xiàn)14.0.5有一個events表的后臺遷移任務(wù)仍然無法結(jié)束蹦哼,根據(jù)文檔使用以下命令嘗試手動結(jié)束任務(wù)

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

結(jié)果命令無法識別鳄哭,發(fā)現(xiàn)這是14.1的命令,于是嘗試先升級到14.1.0

9.升級到14.1.0后纲熏,使用步驟8命令停止后臺遷移進程成功妆丘,使用步驟6方法連接db,

執(zhí)行select * from batched_background_migrations where job_class_name = 'CopyColumnUsingBackgroundMigrationJob'局劲,發(fā)現(xiàn)events任務(wù)狀態(tài)為3(結(jié)束)

10.升級到14.8.4成功

總結(jié):

第一步:13.9.7 -> 13.12.15 -> 14.0.0

第二步:14.0.0 -> 14.1.0勺拣,等待后臺遷移任務(wù)(這一步耗時較長,可能需要幾個小時鱼填,但是務(wù)必等待大部分任務(wù)結(jié)束药有,否則可能需要回退版本再次等待,回退版本命令 rpm -Uvh --oldpackage gitlab-xxx.rpm)

第三步:如果有后臺遷移任務(wù)卡住無法結(jié)束苹丸,則使用gitlab-rake gitlab:background_migrations:finalize手動結(jié)束愤惰,gitlab-rake db:migrate:status查看是否有down狀態(tài)任務(wù),有則需要gitlab-rake db:migrate和reconfigure

第四步:14.1.0 -> 14.8.4

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赘理,一起剝皮案震驚了整個濱河市羊苟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌感憾,老刑警劉巖蜡励,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阻桅,居然都是意外死亡凉倚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門嫂沉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稽寒,“玉大人,你說我怎么就攤上這事趟章⌒硬冢” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵蚓土,是天一觀的道長宏侍。 經(jīng)常有香客問我,道長蜀漆,這世上最難降的妖魔是什么谅河? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上绷耍,老公的妹妹穿的比我還像新娘吐限。我一直安慰自己,他們只是感情好褂始,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布诸典。 她就那樣靜靜地躺著,像睡著了一般崎苗。 火紅的嫁衣襯著肌膚如雪搂赋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天益缠,我揣著相機與錄音,去河邊找鬼基公。 笑死幅慌,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的轰豆。 我是一名探鬼主播胰伍,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼酸休!你這毒婦竟也來了骂租?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤斑司,失蹤者是張志新(化名)和其女友劉穎渗饮,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宿刮,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡互站,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了僵缺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胡桃。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖磕潮,靈堂內(nèi)的尸體忽然破棺而出翠胰,到底是詐尸還是另有隱情,我是刑警寧澤自脯,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布之景,位于F島的核電站,受9級特大地震影響膏潮,放射性物質(zhì)發(fā)生泄漏闺兢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屋谭。 院中可真熱鬧脚囊,春花似錦、人聲如沸桐磁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽我擂。三九已至衬以,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間校摩,已是汗流浹背看峻。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留衙吩,地道東北人互妓。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像坤塞,于是被迫代替她去往敵國和親冯勉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容