今天升級了一下Gitlab, 從13.12.11想升級到14.2.4, 過程中發(fā)現(xiàn)了幾個問題, 在此記錄一下, 其實(shí)版本升級按照步驟來還是非常簡單方便的, 如果有遇到類似問題的朋友可以參考第二段的一些解決分析過程.
大版本升級方式:
升級路徑: 13.12.11 -> 14.0.10 -> 14.2.4
參考:
- 【Linux】【gitlab】gitlab安裝返干、備份兽泄、恢復(fù)、升級、內(nèi)存消耗問題 - 盡 - 博客園 (cnblogs.com)
- GitLab版本升級跨大版本 - 知乎 (zhihu.com)
總結(jié):
- 一定需要備份一下當(dāng)前正常運(yùn)行的版本
- 每次版本install完成后, 一定要執(zhí)行reconfigure和restart, 等到頁面正常出來后再繼續(xù)升級
- 不要直接stop整個gitlab, 只需要停止幾個通信服務(wù)(不停止也可以, 只需要保證當(dāng)前無人使用)
-
備份過程中可能會出現(xiàn)如下的字樣, 表示 gitlab.rb 和 gitlab-secrets.json 兩個文件包含敏感信息, 未被備份到備份文件中, 這兩個文件需要手動備份.
從13.xx.xx升級到14.xx.xx注意事項
- 主版本升級需要從13先升級到14.0.xx最高版本, 也就是第一步需要升級到14.0.10, gitlab版本倉庫: gitlab/gitlab-ce - Packages · packages.gitlab.com
- 從13升級到14, 原本配置文件中的unicorn相關(guān)配置需要更改為puma
相對應(yīng)的puma配置變更方式見官方文檔:
Puma | GitLab
-
puma['per_worker_max_memory_mb']
內(nèi)存設(shè)置需要是數(shù)字, 計算規(guī)則為: 0.98 * ( 800 + ( worker_processes * 1024MB ) ), 網(wǎng)絡(luò)上會有一些內(nèi)存優(yōu)化的文章設(shè)置的是unicorn的方式, 支持字符串, 但是在puma是不可以的
- 升級過程中, 當(dāng)install完成14.2.4版本的rpm包后, 執(zhí)行
gitlab-ctl reconfigure
后, 會出現(xiàn)幾個數(shù)據(jù)庫相關(guān)的更新問題, 整理如下:
- 14.x版本的gitlab對postgresql執(zhí)行了更新, 所以需要在執(zhí)行reconfigure之前, 執(zhí)行:
gitlab-ctl restart postgresql
重啟一下postgresql, 以啟用新的數(shù)據(jù)庫. - 出現(xiàn)報錯, 如圖所示
解決方式: 執(zhí)行sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_stages,id,'[["id"]\, ["id_convert_to_bigint"]]']
- 出現(xiàn)報錯, 如圖所示
解決方式: 執(zhí)行sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,push_event_payloads,event_id,'[["event_id"]\, ["event_id_convert_to_bigint"]]']