GitLabインスタンスをアップグレードする
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
新しい機能とバグの修正を利用するために、GitLabインスタンスをアップグレードします。
アップグレードする前に、アップグレード前に必要な情報を確認してください。
GitLabをアップグレードする
GitLabをアップグレードするには:
- 開始バージョンで利用可能な場合は、アップグレード中にメンテナンスモードを有効にすることを検討してください。
- 実行中のCI/CDパイプラインとジョブを一時停止します。
- インストール方法に応じたアップグレード手順に従います。
- GitLabインスタンスにRunnerが関連付けられている場合は、現在のGitLabバージョンに合わせてアップグレードします。この手順により、GitLabバージョンとの互換性が確保されます。
- メンテナンスモードを有効にしていた場合は、メンテナンスモードを無効にします。
- 実行中のCI/CDパイプラインとジョブの一時停止を解除します。
- アップグレードヘルスチェックを実行します。
インストール方法に応じてアップグレードする
GitLabのアップグレード方法は、インストール方法とGitLabのバージョンに応じて、複数の公式な方法から選択できます:
GitLabのアップグレードの一環として、Linuxパッケージのアップグレードガイドには、Linuxパッケージインスタンスをアップグレードするための特定の手順が含まれています。
GitLabは、Helmを使用してKubernetesクラスターにデプロイできます。本番環境へのデプロイの場合、構成は、クラウドネイティブハイブリッドガイドに従います。この方式では、クラウドネイティブなGitLabのステートレスコンポーネントはGitLab Helmチャートを使用してKubernetesで実行され、ステートフルコンポーネントはLinuxパッケージを使用してコンピューティング仮想マシン(VM)にデプロイされます。
チャートバージョンからGitLabバージョンへのバージョンマッピングを使用して、アップグレードパスを決定します。
ダウンタイムを伴うマルチノードアップグレードの手順に従って、クラウドネイティブハイブリッドセットアップでアップグレードを実行します。
完全なクラウドネイティブ方式のデプロイは、本番環境ではサポートされていません。ただし、そのような環境をアップグレードする方法の手順は、別のドキュメントに記載されています。
GitLabは、GitLab Community EditionとGitLab Enterprise Editionの両方に対して公式のDockerイメージを提供しており、それらはLinuxパッケージをベースにしています。Dockerを使用したGitLabのインストール方法を参照してください。
- ソースからCommunity EditionとEnterprise Editionをアップグレードする: ソースからCommunity EditionとEnterprise Editionをアップグレードするためのガイドライン。
- パッチバージョンガイドには、15.2.0から15.2.1などのパッチバージョンに必要な手順が含まれており、GitLab Community EditionとGitLab Enterprise Editionの両方に適用されます。
以前は、アップグレード手順に個別のドキュメントを使用していましたが、単一のドキュメントを使用するように切り替えました。以前のアップグレードガイドラインは、Gitリポジトリで引き続き参照できます:
アップグレード中のCI/CDパイプラインとジョブ
GitLab Runnerがジョブを処理している間にGitLabインスタンスをアップグレードすると、トレース更新が失敗します。GitLabがオンラインに戻ると、トレース更新は自動修復されるはずです。ただし、エラーによっては、GitLab Runnerは再試行するか、最終的にジョブの処理を終了します。
アーティファクトについては、GitLab Runnerはアップロードを3回試み、その後ジョブは最終的に失敗します。
上記の2つのシナリオに対処するには、アップグレード前に次の手順を行うことをおすすめします:
メンテナンスを計画します。
Runnerを一時停止するか、
/etc/gitlab/gitlab.rbに次を追加して新しいジョブの開始をブロックします:nginx['custom_gitlab_server_config'] = "location = /api/v4/jobs/request {\n deny all;\n return 503;\n}\n"以下を使用してGitLabを再設定します:
sudo gitlab-ctl reconfigureすべてのジョブが完了するまで待ちます。
GitLabをアップグレードします。
GitLabバージョンと同じバージョンにGitLab Runnerをアップグレードします。両方のバージョンは同じである必要があります。
Runnerの一時停止を解除し、先ほどの
/etc/gitlab/gitlab.rbの変更を元にリバートして、新しいジョブの開始ブロックを解除します。
エディション間でアップグレードする
GitLabには次の2つのエディションがあります: MITライセンスのGitLab Community Editionと、GitLab Community EditionをベースにビルドされたGitLab Enterprise Editionです。GitLab Enterprise Editionは、主に100人以上のユーザーがいる組織を対象とした追加機能を含みます。
次のセクションでは、GitLab Editionを変更するのに役立ついくつかのガイドを紹介します。
サポートを利用する
問題が発生した場合:
- エラーをコピーし、後で分析するためにログを収集し、最後に動作していたバージョンにロールバックします。データの収集には次のツールが役立ちます:
サポート:
- GitLabサポートにお問い合わせください。担当のカスタマーサクセスマネージャーがいる場合は、そちらにもお問い合わせください。
- 問題の状態が対象となる 、かつプランに緊急サポートが含まれている場合は、緊急チケットを作成してください。