正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLabインスタンスをアップグレードする

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

新しい機能とバグの修正を利用するために、GitLabインスタンスをアップグレードします。

アップグレードする前に、アップグレード前に必要な情報を確認してください。

GitLabをアップグレードする

GitLabをアップグレードするには:

  1. 開始バージョンで利用可能な場合は、アップグレード中にメンテナンスモードを有効にすることを検討してください。
  2. 実行中のCI/CDパイプラインとジョブを一時停止します。
  3. インストール方法に応じたアップグレード手順に従います。
  4. GitLabインスタンスにRunnerが関連付けられている場合は、現在のGitLabバージョンに合わせてアップグレードします。この手順により、GitLabバージョンとの互換性が確保されます。
  5. メンテナンスモードを有効にしていた場合は、メンテナンスモードを無効にします
  6. 実行中のCI/CDパイプラインとジョブの一時停止を解除します。
  7. アップグレードヘルスチェックを実行します。

インストール方法に応じてアップグレードする

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のインストール方法を参照してください。

以前は、アップグレード手順に個別のドキュメントを使用していましたが、単一のドキュメントを使用するように切り替えました。以前のアップグレードガイドラインは、Gitリポジトリで引き続き参照できます:

アップグレード中のCI/CDパイプラインとジョブ

GitLab Runnerがジョブを処理している間にGitLabインスタンスをアップグレードすると、トレース更新が失敗します。GitLabがオンラインに戻ると、トレース更新は自動修復されるはずです。ただし、エラーによっては、GitLab Runnerは再試行するか、最終的にジョブの処理を終了します。

アーティファクトについては、GitLab Runnerはアップロードを3回試み、その後ジョブは最終的に失敗します。

上記の2つのシナリオに対処するには、アップグレード前に次の手順を行うことをおすすめします:

  1. メンテナンスを計画します。

  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
  3. すべてのジョブが完了するまで待ちます。

  4. GitLabをアップグレードします。

  5. GitLabバージョンと同じバージョンにGitLab Runnerをアップグレードします。両方のバージョンは同じである必要があります

  6. Runnerの一時停止を解除し、先ほどの/etc/gitlab/gitlab.rbの変更を元にリバートして、新しいジョブの開始ブロックを解除します。

エディション間でアップグレードする

GitLabには次の2つのエディションがあります: MITライセンスのGitLab Community Editionと、GitLab Community EditionをベースにビルドされたGitLab Enterprise Editionです。GitLab Enterprise Editionは、主に100人以上のユーザーがいる組織を対象とした追加機能を含みます。

次のセクションでは、GitLab Editionを変更するのに役立ついくつかのガイドを紹介します。

サポートを利用する

問題が発生した場合:

  • エラーをコピーし、後で分析するためにログを収集し、最後に動作していたバージョンにロールバックします。データの収集には次のツールが役立ちます:
    • gitlabsos: LinuxパッケージまたはDockerを使用してGitLabをインストールした場合。
    • kubesos: Helm Chartを使用してGitLabをインストールした場合。

サポート: