今天升級了一下Gitlab, 從13.12.11想升級到14.2.4, 過程中發現了幾個問題, 在此記錄一下, 其實版本升級按照步驟來還是非常簡單方便的, 如果有遇到類似問題的朋友可以參考第二段的一些解決分析過程.
大版本升級方式:
升級路徑: 13.12.11 -> 14.0.10 -> 14.2.4
參考:
總結:
- 一定需要備份一下當前正常運行的版本
- 每次版本install完成后, 一定要執行reconfigure和restart, 等到頁面正常出來后再繼續升級
- 不要直接stop整個gitlab, 只需要停止幾個通信服務(不停止也可以, 只需要保證當前無人使用)
-
備份過程中可能會出現如下的字樣, 表示 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
gitlab版本倉庫 - 從13升級到14, 原本配置文件中的unicorn相關配置需要更改為puma
報錯信息
相對應的puma配置變更方式見官方文檔:
Puma | GitLab
變更方式
-
puma['per_worker_max_memory_mb']
內存設置需要是數字, 計算規則為: 0.98 * ( 800 + ( worker_processes * 1024MB ) ), 網絡上會有一些內存優化的文章設置的是unicorn的方式, 支持字符串, 但是在puma是不可以的
- 升級過程中, 當install完成14.2.4版本的rpm包后, 執行
gitlab-ctl reconfigure
后, 會出現幾個數據庫相關的更新問題, 整理如下:
- 14.x版本的gitlab對postgresql執行了更新, 所以需要在執行reconfigure之前, 執行:
gitlab-ctl restart postgresql
重啟一下postgresql, 以啟用新的數據庫. - 出現報錯, 如圖所示
解決方式: 執行sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_stages,id,'[["id"]\, ["id_convert_to_bigint"]]']
- 出現報錯, 如圖所示
解決方式: 執行sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,push_event_payloads,event_id,'[["event_id"]\, ["event_id_convert_to_bigint"]]']
升級完成
14.2.4