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

GitLab 19アップグレードノート

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

このページには、GitLab 19のマイナーバージョンおよびパッチバージョンに関するアップグレード情報が含まれています。以下の条件を考慮して、各手順を確認してください:

  • お使いのインストールタイプ。
  • 現在のバージョンから移行先バージョンまでのすべてのバージョン。

Helmチャートインストールの追加情報については、Helmチャート10.0アップグレードノートを参照してください。

必須アップグレードストップ

インスタンス管理者に予測可能なアップグレードスケジュールを提供するために、必須アップグレードストップは、以下のバージョンで発生します:

  • 19.2
  • 19.5
  • 19.8
  • 19.11

アップグレードノート参照

以下は、マイナーGitLabバージョンごとのアップグレードノートの参照リストです。各リスト項目は、詳細情報が記載されている特定のセクションを指しています。

インストール方法が示された項目((Geo)(Linux package)など)は、その方法にのみ適用されます。その他のすべての項目は、すべてのインストール方法に適用されます。

19.2へのアップグレード

GitLab 19.2にアップグレードする前に、以下を確認してください:

19.0へのアップグレード

GitLab 19.0へのアップグレード前に、以下を確認してください:

アップグレードノート

GitLab 19に関する特定のアップグレードノート。

GitLab Duo Self-Hosted AIゲートウェイURLがアップグレード後にクリアされる

  • 対象: Linuxパッケージ
  • 影響を受けるバージョン: 19.2.0
  • 修正バージョン: 19.2.1

インスタンスをGitLab 19.2.0に直接アップグレードすると、GitLab Duo Self-Hostedサービスエンドポイントの設定がクリアされる可能性があります。管理者エリア > GitLab Duo > 設定 > サービスエンドポイントの以下のフィールドがアップグレード後に空になる可能性があります:

  • ローカルAIゲートウェイURL
  • GitLab Duo Agent PlatformサービスのローカルURL

その他の関連する設定もデフォルトに戻る可能性があります。GitLab Duo Self-Hostedの機能は、URLが手動で再入力されるまで動作を停止します。

このイシューは、GitLab 19.2.1以降にアップグレードする場合には発生しません。

19.2.0にすでにアップグレードしていて影響を受けている場合は、管理者エリア > GitLab Duo > 設定 > サービスエンドポイントで正しいAIゲートウェイエンドポイントURLを復元し、変更を保存してください。詳細については、イシュー606458を参照してください。

コンテナレジストリメタデータデータベースがデフォルトでプリファーモードで有効化される

  • 対象: Linuxパッケージ、自己コンパイル
  • 影響を受けるバージョン: 19.0.0、19.0.1

GitLab 19.0では、既存のインストールでregistry['database']['enabled']/etc/gitlab/gitlab.rbで明示的に設定されていない場合、コンテナレジストリメタデータデータベースはpreferモードをデフォルトとします。preferモードでは、レジストリはメタデータデータベースの使用を試行します。既存のレジストリデータがデータベースにインポートされていない場合、レジistrieは起動時に従来のファイルシステムメタデータにフォールバックします。

バグ(イシュー600955)のため、レジストリルーターはプリファーフォールバック検出が実行される前に初期化されました。これにより、すべての/gitlab/v1/ルートでnilポインター逆参照パニックが発生し、レジストリUIがグループレベルのストレージサイズをポーリングする際にHTTP 500エラーが発生しました。実際のDockerプッシュおよびプルプロトコル(/v2/)は、このバグの影響を受けません。

このバグはGitLab 19.0.2で修正されており、コンテナレジストリv4.40.1-gitlabが含まれています。

19.0.0または19.0.1を実行していて、/var/log/gitlab/registry/currenthandlers.(*repositoryHandler).HandleGetRepositoryで繰り返しruntime error: invalid memory address or nil pointer dereferenceのパニックが発生する場合は、以下の回避策を適用してください:

  1. 次の内容を/etc/gitlab/gitlab.rbに追加します。

    registry['database'] = {
      'enabled' => false
    }
  2. レジストリを再構成して再起動します:

    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart registry

19.0.2以降にアップグレードした後、オーバーライドを削除し、再度再構成してデフォルトの動作を復元します。

詳細については、コンテナレジストリのメタデータデータベースドキュメントを参照してください。

コンテナレジストリS3ストレージドライバーがs3_v2に置き換えられる

  • 対象: Linuxパッケージ、自己コンパイル
  • 影響を受けるバージョン: 19.0.0

GitLab 19.0では、レガシーのs3コンテナレジストリストレージドライバー(AWS SDK v1)が削除され、新しいs3_v2ドライバー(AWS SDK v2)のエイリアスが設定されます。この変更は、Ceph RGW、MinIO、OVH S3など、S3互換のオブジェクトストレージバックエンドを使用するインストールに影響します。

s3_v2ドライバーは、非AWS S3互換バックエンドに2つの破壊的変更をもたらします:

  • regionendpointには、スキームを含む完全なURIが必要です。s3_v2ドライバーは、regionendpointの値にhttps://(またはhttp://)を必要とします。storage.example.comのようなベアホスト名は無効になり、起動エラーが発生します:

    endpoint rule error, Custom endpoint `storage.example.com` was not a valid URI

    設定を更新して、スキームを含めます:

    registry['storage'] = {
      's3_v2' => {
        'regionendpoint' => 'https://storage.example.com',
        # ...
      }
    }
  • AWS SDK v2は、強化されたチェックサムをデフォルトで送信します。s3_v2ドライバーは、アップロード時にx-amz-content-sha256とCRC64NVMEチェックサムを送信します。Ceph RGW、以前のMinIOバージョン、OVH S3、およびその他のS3互換バックエンドは、これらをHTTP 400(XAmzContentSHA256Mismatch)で拒否する場合があります。この動作を無効にするには、'checksum_disabled' => trueを追加してください。

    checksum_disabled設定は、アップロード(PutObject)呼び出しのチェックサムのみを抑制します。DeleteObjectsコードパスも、一部のS3互換バックエンドがサポートしないCRC32チェックサムヘッダーを送信します。バックエンドがこのヘッダーを拒否する場合、blob削除をトリガーするイメージプッシュは、checksum_disabledtrueに設定されていてもMissingContentMD5またはInvalidRequestエラーで失敗します。

    このイシューを解決するには、S3互換ストレージバックエンドを、CRC32チェックサムヘッダーをサポートするバージョンにアップグレードしてください。必要な最小バージョンについては、ストレージプロバイダーのドキュメントを参照してください。

    gitlab.rb設定の回避策はDeleteObjectsコードパスには存在しません。詳細については、イシュー2309を参照してください。

Ceph RGWおよびほとんどのS3互換バックエンドでは、次のように設定を更新してください:

registry['storage'] = {
  's3_v2' => {
    'accesskey' => '<your-access-key>',
    'secretkey' => '<your-secret-key>',
    'bucket' => '<your-bucket>',
    'region' => '<your-region>',
    'regionendpoint' => 'https://<your-s3-endpoint>',
    'pathstyle' => true,
    'checksum_disabled' => true
  }
}

詳細については、コンテナレジストリのオブジェクトストレージドキュメントを参照してください。

Geoデザイン管理レプリケーションでプロジェクトがnilの場合にNoMethodErrorが発生する

  • 対象: Geo
  • 影響を受けるバージョン: 16.0.0 - 19.0.1

Geoセカンダリサイトでは、関連するプロジェクトが削除され、孤立したDesignManagement::Repositoryレコードが残された場合に、デザイン管理リポジトリのレプリケーション中にNoMethodErrorが発生する可能性があります。GitLab 19.0.2でこのイシューが修正されます。

詳細については、イシュー597049を参照してください。

PostgreSQL 17の最小要件

  • 対象: すべてのインストール方法
  • 影響を受けるバージョン: 19.0.0

PostgreSQLの最小サポートバージョンはバージョン17になりました。GitLab 19.0をインストールする前に:

Geoコンテナリポジトリ同期がOCIイメージインデックスタグをサイレントにスキップする

  • プラン: Premium、Ultimate
  • 対象: Geo(コンテナレジストリ)
  • 影響を受けるバージョン:
    リリース影響を受けるパッチリリース修正パッチレベル
    19.019.0.0 - 19.0.119.0.2

Geoセカンダリサイトでは、コンテナリポジトリ同期が、マニフェストがOCIイメージインデックス(application/vnd.oci.image.index.v1+json)であるタグをサイレントにスキップしました。マルチアーチ画像とBuildKitキャッシュのタグは、一般的にこのマニフェストタイプを使用します。エラーは発生せず、タグのカウントは一致しましたが、セカンダリからの影響を受けたタグのdocker pullmanifest unknownを返しました。同じ根本原因により、同期で削除できない孤立したタグがセカンダリに残されました。

プライマリサイトとセカンダリサイトの両方を修正済みバージョンにアップグレードすると、新しく同期されたタグは正しくなります。以前影響を受けたリポジトリは、次回の検証サイクルで収束します。これには再検証間隔(既定では90日)までかかる場合があります。影響を受けたリポジトリを直ちに修正するには、セカンダリサイトでコンテナリポジトリを再同期してください。

詳細については、イシュー600486を参照してください。

Ubuntu 20.04のLinuxパッケージサポートが終了しました

  • 対象: Linuxパッケージ
  • 影響を受けるバージョン: 19.0.0

Ubuntu 20.04は2025年5月に標準サポートが終了しました。GitLab 19.0以降、Ubuntu 20.04用のLinuxパッケージは提供されなくなりました。GitLab 18.11がこのディストリビューション向けパッケージの最後のリリースです。GitLab 19.0にアップグレードする前に、Ubuntu 22.04または別のサポートされているオペレーティングシステムに移行してください。

Redis 6のサポートが削除されました

  • 対象: Linuxパッケージ
  • 影響を受けるバージョン: 19.0.0

GitLab 19.0でRedis 6のサポートが削除されました。外部のRedis 6デプロイを使用している場合は、アップグレードする前にRedis 7.0以上またはValkey 7.2に移行してください。Redis 7.2またはValkey 7.2が推奨されます。Redis 7.0はアップストリームでEOL(End-of-Life)に達しましたが、Amazon ElastiCache for Redis 7.1のように、一部のケースではベンダーによって積極的にメンテナンスされています。Linuxパッケージに含まれるバンドルされたRedisは、GitLab 16.2以降Redis 7を使用しており、影響を受けません。

MattermostがLinuxパッケージから削除されました

  • 対象: Linuxパッケージ
  • 影響を受けるバージョン: 19.0.0

バンドル版Mattermostは、GitLab 19.0でLinuxパッケージから削除されました。現在、バンドルされたMattermostを使用している場合は、移行手順についてLinuxパッケージからMattermost Standaloneへの移行を参照してください。バンドルされたMattermostを使用していない場合は、影響を受けません。

GitLab 19.0にアップグレードする前に、/etc/gitlab/gitlab.rbからすべてのmattermost[...]設定を削除またはコメントアウトしてください。いずれかのmattermost[...]キーが残っている場合、パッケージのインストール直後にgitlab-ctl reconfigureが以下のメッセージで中断します:

RuntimeError: Removed configurations found in gitlab.rb. Aborting reconfigure.

特定の18.11.xバージョンからアップグレードする場合の動作は異なります:

  • 18.11.0から18.11.6: アップグレードは古いMattermost設定を検知しないため、クリーンアップが不完全でも警告なしでアップグレードが続行されます。アップグレード前にMattermostキーの削除を検証するためにgitlab-ctl check-config --version 19.0.xに依存しないでください(イシュー9916)。
  • 18.11.7: すべてのmattermost[...]キーがgitlab.rbから削除されていても、アップグレードはブロックされます。このブロックは、GitLabがノードキャッシュ内で無条件に生成した古いMattermostシークレットによって引き起こされる誤検出です。アップグレードのブロックを解除するには、次のいずれかのオプションを使用してください:
    • 19.0にアップグレードする前に、18.11.xの以降のバージョン(利用可能な場合)にアップグレードしてください。
    • 手動の回避策を適用してください。

SUSEディストリビューション向けのLinuxパッケージサポートが終了しました

  • 対象: Linuxパッケージ
  • 影響を受けるバージョン: 19.0.0

SUSEディストリビューション向けのLinuxパッケージサポートはGitLab 19.0で終了します。これにはopenSUSE Leap 15.6、SUSE Linux Enterprise Server 12.5、およびSUSE Linux Enterprise Server 15.6が含まれます。GitLab 18.11がこれらのディストリビューション向けのLinuxパッケージを搭載した最後のバージョンです。SUSEディストリビューションの使用を継続するには、GitLabのDockerデプロイに移行してください。

SpamcheckがLinuxパッケージとGitLab Helmチャートから削除されました

  • 対象: Linuxパッケージ、Helmチャート
  • 影響を受けるバージョン: 19.0.0

SpamcheckはGitLab 19.0でLinuxパッケージとGitLab Helmチャートから削除されました。現在Spamcheckを使用していないお客様は影響を受けません。バンドル版のSpamcheckを使用している場合、Dockerを使用して個別にデプロイできます。データ移行は不要です。

NGINX IngressがEnvoy Gatewayを伴うゲートウェイAPIに置き換えられました

  • 対象: Helmチャート
  • 影響を受けるバージョン: 19.0.0

Envoy Gatewayを伴うゲートウェイAPIが、GitLab 19.0のGitLab Helmチャートにおけるデフォルトのネットワーク設定となり、2026年3月にサポート終了となったNGINX Ingressを置き換えます。Envoy Gatewayへの移行がすぐに実行できない場合は、バンドルされているNGINX Ingressを明示的に再有効化できます。これはGitLab 20.0での削除が提案されるまで利用可能です。この変更は、Linuxパッケージで使用されているNGINX、または外部管理のIngressもしくはゲートウェイAPIコントローラーを使用しているHelmチャートインスタンスには影響しません。

詳細な移行手順については、Helmチャート10.0アップグレードノートを参照してください。

バンドル版PostgreSQL、Redis、MinIOがGitLab Helmチャートから削除されました

  • 対象: Helmチャート
  • 影響を受けるバージョン: 19.0.0

バンドル版Bitnami PostgreSQL、Bitnami Redis、およびMinIOチャートは、GitLab 19.0でGitLab HelmチャートおよびGitLab Operatorから削除され、代替品はありません。これらのコンポーネントは概念実証およびテスト環境のみを目的としており、本番環境での使用は推奨されません。これらのバンドルサービスを伴うインスタンスを実行している場合は、GitLab 19.0にアップグレードする前に、移行ガイドに従って外部サービスを設定してください。

LinuxパッケージRPMインストールにおける孤立した.agentsおよび.claudeディレクトリ

  • 対象: Linuxパッケージ(RPM)
  • 影響を受けるバージョン:
    リリース影響を受けるパッチリリース修正パッチレベル
    19.019.0.0 - 19.0.219.0.3
    19.119.1.019.1.1

影響を受けたパッチリリースのLinuxパッケージには、誤って/opt/gitlab/embedded/service/gitlab-rails/の下に2つのディレクトリが含まれていました:

  • .agents/
  • .claude/

これらのディレクトリは、修正済みパッチレベルからパッケージペイロードから除外され、GitLab 19.2以降ではデフォルトで除外されます。詳細については、イシュー603547を参照してください。

RPMベースのディストリビューションでは、RPMは、ディレクトリにファイルが含まれている場合、所有しなくなったディレクトリを削除しません。LinuxパッケージRPMインストールを修正済みバージョンを過ぎてアップグレードした後でも、これらのディレクトリはディスク上に残る可能性があります:

  • /opt/gitlab/embedded/service/gitlab-rails/.agents
  • /opt/gitlab/embedded/service/gitlab-rails/.claude

RPMはこれらの孤立したディレクトリを自動的に削除しません。これらのディレクトリを確認し、存在する場合は手動で削除してください:

  1. ディレクトリが存在するかどうかを確認します:

    ls -la /opt/gitlab/embedded/service/gitlab-rails/.agents \
           /opt/gitlab/embedded/service/gitlab-rails/.claude
  2. ディレクトリが存在する場合は、削除します:

    sudo rm -rf /opt/gitlab/embedded/service/gitlab-rails/.agents \
                /opt/gitlab/embedded/service/gitlab-rails/.claude

DEBベースのディストリビューションは、dpkgがアップグレード中に所有しなくなったディレクトリを削除するため、影響を受けません。