fbpx

GitLabをバージョンアップしよう #GitLab

GitLabは毎月22日に新バージョンがリリースされ、新バージョンではマイナーバージョンが一つ上がります。
GitLabのバージョン付けの体系やセキュリティパッチ等のリリースのポリシーについては、下記の公式ドキュメントを参照してください。

弊社では、下記のような致命的なセキュリティへの対策及びアップデート作業工数を削減する目的でも定期的なアップデートをお勧めしています。

バージョンアップ手順について

GitLab、gitlab-runnerのアップデート方法はGitLab公式ドキュメントの「Upgrading GitLab」を参照してください。
上記のアップデートガイドにも記載がありますが、原則としてインスタンス全体をバックアップしてからバージョンアップを実施して下さい。

GitLabは、特定のバージョンを経由して順にアップデートする必要があります。
現在のバージョンから対象のバージョンまで上げる際に経由するバージョンは、公式ツールのUpgrade Pathから確認できます。

最新バージョンはリグレッション等により早いサイクルで更新されることが多いため、弊社では、Target 選択時のリストで最新のひとつ前のマイナーバージョンの最新パッチバージョンにアップデートすることを推奨しています(2023/6/22現在ですと、16.0.5です)。

バージョンアップの注意点

公式ドキュメントのアップデートガイドにも記載がありますが、パスにしたがって各バージョンアップを実施する前に必ずバックグラウンドマイグレーションが完了していることを確認してください。
データベースのバックグラウンドマイグレーションが、バージョンによっては数時間~数日かかる可能性もあります。
詳細は Version-specific upgrading instructions に記載されています。上記公式ツールの結果画面で各バージョンのボタンをクリックして表示することもできます。
また、対象バージョン部分を熟読して該当/非該当を判断の上、該当する処置を必ず実施してください。

なお、サーバーのGitLabサービスは停止せずにアップデートを開始する必要があります。
GitLabを完全に停止するとデータベースのマイグレーションができず、アップデートでエラーが発生するためです。
最低限 postgresql と redis は動かしてアップデートを開始するようにしてください。
GitLabのアップデート中は、必要に応じたタイミングで自動的にサービスが停止します。 その間はGitLabを利用できない状態が発生します。

バージョンアップ作業にあたっては他にも多くの注意点があります。
必ず公式ドキュメントを熟読の上、実施して下さい。

バージョンアップ時にデータ移行(バックアップ&リストアなど)は必要ですか?

GitLabのデータは、アップデートの際に自動的に移行します。
アップデートの前にはバックアップを取得していただきますが、あくまでアップデート中にトラブルがあった際に元バージョンに復旧するためのものです。
問題なくアップデートが終了すれば、リストア作業の必要はありません。

最新バージョンまで一気にバージョンアップしてもよいですか?

GitLab のバージョンアップは、主にデータベースのマイグレーションの都合により、特定のバージョンを経由する必要がございます。
例えば、v15.0.0 から v16.0.5 に直接バージョンアップはできません。 15.0.5 -> 15.4.6 -> 15.11.9 -> 16.0.5 と必ず順を追ってバージョンアップする必要があります。

現在のバージョンから対象のバージョンまで上げる際に経由するバージョンは、公式ツールのUpgrade Pathからご確認いただけます。
また、複数回バージョンアップをする際に、数時間から数日バージョン同士の間隔を空ける必要がある場合があります。
どのバージョンが間隔を空ける必要があるかは、公式ドキュメントのVersion-specific upgrading instructionsからご確認いただけます。

バージョンアップはどれくらい時間がかかりますか?

GitLabはバージョンアップを行う際に、利用中のバージョンと目的のバージョンが離れている場合、複数回アップデート作業が必要になる場合があります。
例えば v15.0.0 から v16.0.5 までアップデートするには4回アップデートする必要があります。

こちらの公式ドキュメント内で、hours or days to complete と記載されているバージョンは数時間〜数日バックグラウンドマイグレーションに時間を要するバージョンです。例ですと、2回目のアップデートである 15.4.6 が該当いたします。

補足

15.4.6を経由する場合、 GitLab に proxy を設定 (環境変数 http_proxy , https_proxy , no_proxy) しているとproxy 設定が有効にならないバグがありますので、バージョンアップ先を 15.4.6 ではなく 15.4.5 にしてください。
詳細は下記公式ドキュメントをご参照ください。

お問い合わせ

弊社では、セキュリティ対応やアップデート方法等についてのサポートを受けられるGitLabプロフェッショナルサービスを提供しています。
ご不明な点や疑問点がありましたら、 些細なことでもお気軽にお問い合わせください

関連リンク

 

新規CTA