GitLab 17.9がリリースされ、生成AIの大規模言語モデル(LLM)を閉じた環境のデプロイが可能になったGitLab Duoの一般提供を開始しました
このたび、GitLab 17.9のリリースを発表しました。このリリースでは、生成AIの大規模言語モデル(LLM)を閉じた環境のデプロイが可能になったGitLab Duoの一般提供、複数のGitLab Pagesサイトを並列デプロイで実行できる機能、VS CodeやJetBrains IDEでGitLab Duo Chatにプロジェクトファイルを取り込んでより深い解釈を可能にするオプション、古くなったパイプラインの自動削除など、さまざまな機能が追加されました。
これらの機能は、今回のリリースに含まれる110件以上の改善点のほんの一部です。この記事では、お役に立つアップデートをすべてご紹介していますので、ぜひ最後までお読みください。
GitLab 17.9には、GitLabコミュニティのユーザーから322件ものコントリビュートがありました。ありがとうございました!GitLabは誰もがコントリビュートできるプラットフォームであり、今回のリリースはユーザーのみなさまの協力なしには実現しませんでした。
来月のリリースで予定されている内容を先取りするには、17.10リリースのキックオフビデオも視聴できる今後のリリースページをご覧ください。
GitLab 17.9では、生成AIの大規模言語モデル(LLM)を閉じた環境のデプロイが可能になったGitLab Duoの一般提供を開始しました。クリックしてSNSで共有しましょう
今月のMVPはSalihu Dicksonさんが受賞
MVPには、誰もがGitLabコミュニティのコントリビューターをMVPに推薦できます。現在の候補者を応援したり、他の誰かをノミネートしてみませんか🙌
今回、コミュニティから200件以上の反響を集めた待望のWikiページへのコメント機能の開発を実装した、Salihu Dicksonさんの素晴らしい貢献を称え、MVPとして表彰できることを嬉しく思います!
GitLab 17.9でリリースされた主な改善点
セルフホストモデルが可能になったGitLab Duoの一般提供を開始
SaaS: -
Self-Managed: Ultimate、Duo Enterprise
これにより、選択した大規模言語モデル(LLM)を自社のインフラストでホストし、それを GitLab Duo のコード提案やチャットのソースとして設定できるようになりました。この機能は、GitLab Ultimate + Duo Enterpriseライセンスを持つセルフホスト型GitLabで一般提供が開始されました。
セルフホストモデルが可能になったGitLab Duoを使用することで、オンプレミスまたはプライベートクラウドにホストされたモデルを GitLab Duo Chat やコード提案のソースとして利用できます。現在、Mistralモデル(vLLM または AWS Bedrock上でのオープンソース型モデル)、AWS BedrockのClaude 3.5 Sonnet、Azure OpenAIのOpenAIモデルをサポートしています。セルフホストモデルを活用することで、生成AIの力を最大限活かしながら、外部サービスに依存することなくデータ主権とプライバシーを確保できます。
イシュー512753から、ぜひフィードバックをお寄せください。

複数のGitLab Pagesサイトを並列デプロイで実行可能に
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
並列デプロイを使用して、複数のバージョンのGitLab Pagesサイトを同時に作成できるようになりました。各デプロイには、指定したプレフィックスに基づいて一意のURLが設定されます。たとえば、独自ドメインを指定した場合はproject-123456.gitlab.io/prefix
から、独自ドメインを指定しない場合はnamespace.gitlab.io/project/prefix
からサイトにアクセスできます。
この機能は、特に以下のような場合に役立ちます。
- デザインの変更やコンテンツの更新をプレビューする
- 開発中のサイトの変更内容をテストする
- マージリクエストによる変更内容を確認する
- 複数のサイトのバージョンを保守する(ローカライズされたコンテンツなど)
デフォルトでは、並列デプロイは24時間後に自動的に失効します。過去のデプロイが蓄積するのを防ぎ、効率的にストレージを管理できます。ただし、有効期間をカスタマイズしたり、デプロイが失効されないように設定したりすることが可能です。マージリクエストから作成された並列デプロイは、マージリクエストがマージされた、または完了したタイミングで削除(自動クリーンアップ)されます。

VS CodeやJetBrains IDEでGitLab Duo Chatにプロジェクトファイルの追加が可能に
SaaS: Premium、Ultimate、Duo Pro、Duo Enterprise
Self-Managed: Premium、Ultimate、Duo Pro、Duo Enterprise
プロジェクトファイルをVS CodeやJetBrainsのGitLab Duo Chatに直接追加して、より強力でコンテキストに対応したAIアシストを利用できるようになりました。
GitLab Duo Chatにプロジェクトファイルを追加することで、Duo Chatは特定のコードベースをより深く理解し、コンテキストに沿った正確な回答を提供できるようになります。このようなコンテキストアウェアネス(状況や背景を理解する能力)により、より適切なGitLab Duoコードの説明、デバッグに関する的確なサポート、既存のコードベースに密接に沿った提案が提供されます。この素晴らしい新機能に関するフィードバックをお待ちしています。ぜひフィードバックイシューからご意見をお寄せください。
Sysboxを用いたワークスペースコンテナのサポート
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
GitLabワークスペースにおいて、開発環境でコンテナのビルドと実行を直接行えるようになりました。Sysboxを使用して設定されたKubernetesクラスター上でワークスペースを実行している場合、追加の設定なしでコンテナのビルドと実行が可能です。
この機能はGitLab 17.4でsudoアクセス機能の一部として提供されており、GitLabワークスペース環境で完全なコンテナワークフローを維持できます。
カスタムdevfileなしでワークスペースが作成可能に
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
これまでは、ワークスペースを設定する際に、devfile.yaml
設定ファイルを作成する必要がありました。本リリースから、GitLabでは一般的な開発ツールを含むデフォルトファイルが提供されるようになりました。この機能強化により、次のことが可能になります。
- 設定の手間がかからなくなる
- どのプロジェクトからでも素早くワークスペースを作成できる
- 一般的な開発ツールが事前に設定されており、すぐに利用可能
- 設定に時間をかけずに、開発に集中できる
追加設定や設定手順の手間を省いて、すぐにワークスペースを作成して開発を始めることができます。
GitLab管理のKubernetesリソース
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
GitLab管理のKubernetesリソースを活用すれば、Kubernetesへのアプリケーションのデプロイプロセスの自動化が進み、きめ細かい制御も可能になります。これまでは、環境ごとに手動でKubernetesリソースを設定する必要がありましたが、本リリースではGitLab管理のKubernetesリソースを使用して、リソースを自動的にプロビジョニングして管理できるようになりました。
GitLab管理のKubernetesリソースを使用すると、次のことを行えます。
- 新しい環境のネームスペースとサービスアカウントを自動的に作成する
- ロールバインディングによってアクセス権限を管理する
- ほかに必要なKubernetesリソースを設定する
デベロッパーがアプリケーションをデプロイすると、GitLabは用意されたリソーステンプレートに基づいて必要なKubernetesリソースを自動的に作成します。これにより、デプロイプロセスが効率化されるほか、環境間の一貫性が保たれます。
より簡単にプロジェクト環境内のデプロイ情報にアクセスできるように
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
これまでプロジェクト内のデプロイの概要を把握するのに苦労したことはありませんか?本リリースでは、各環境をいちいち展開しなくても、環境リストで最近のデプロイの詳細を閲覧できるようになりました。環境リストには、各環境における最新の成功したデプロイが表示されます。成功したデプロイがない場合は、試行された最新のデプロイが表示されます。
Wikiページのコメント
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
本リリースからWikiページに直接コメントを追加できるようになりました。本来ドキュメントは静的なものですが、本機能を活用することでドキュメントを意見交換を伴う共同作業の場として使えるようになります。
Wikiページのコメントやスレッドは、チームが次のことを行うのに役立ちます:
- コンテンツに沿ってドキュメント上で直接議論する
- 改善点や修正案を提案する
- ドキュメントを正確かつ最新の状態に保つ
- 経験や専門知識を共有する
Wikiコメントを活用することで、ドキュメントが単なる記録ではなく、プロジェクトの進行に合わせて進化する「生きたドキュメント」になります。チームは、直接的なフィードバックや意見交換を通じて内容をリアルタイムで更新し続けることができます。
ワークフローの可視性の強化:マージリクエストのレビュー時間に関する新たなインサイト
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
開発ワークフローの追跡を改善するために、バリューストリーム分析(VSA)に新しいイベント「Merge request last approved at(マージリクエストが最後に承認されたタイミング)」が追加されました。マージリクエストの承認イベントは、レビュー段階の終了と、最終的なパイプラインの実行またはマージステージの開始を記録します。たとえば、マージリクエストの総レビュー時間を計算するには、VSAステージを作成して、開始イベントとして「Merge request reviewer first assigned(マージリクエストのレビュアーが最初にアサイン)」を、また終了イベントとして「Merge request last approved at (マージリクエストが最後に承認されたタイミング)」を指定します。
この機能強化により、チームはレビュー時間に関するインサイトを得ることができ、レビューを最適化しやすくなります。、結果として、開発全体のサイクルタイムが短縮され、そしてソフトウェアデリバリーをより迅速に行えるようになります。
脆弱性リスクの優先順位付けに役立つEPSS、KEV、およびCVSS(共通脆弱性評価システム)データ
SaaS: Ultimate
Self-Managed: Ultimate
本リリースで、次の脆弱性リスクデータのサポートを追加しました。
- 悪用予測スコアリングシステム(EPSS)
- 悪用されている既知の脆弱性(KEV)
- 共通脆弱性識別子(CVE)
これらのデータを使用して、依存関係やコンテナイメージにおける脆弱性のリスクを効率的に優先順位付けできるようになりました。このデータは、脆弱性レポートおよび脆弱性の詳細ページで確認できます。
UIからDASTスキャンの詳細設定が可能に
SaaS: Ultimate
Self-Managed: Ultimate
複雑なアプリケーションを効果的にテストするには、セキュリティチームがDASTスキャンを柔軟に設定できる必要があります。これまでは、UIからDASTスキャンを設定する際に利用できる設定オプションが限られていたため、特定のセキュリティ要件が求められるアプリケーションではスキャンがうまく行えないことがありました。そのため、簡単なセキュリティ評価を行う場合でも、パイプラインベースのスキャンを使用する必要がありました。
本リリースから、UIからDASTスキャンを設定する際にも、パイプラインベースのスキャンの利用時と同様の詳細な設定が、可能になりました。これには以下が含まれます。
- カスタムヘッダーやクッキーを含む完全な認証設定
- 最大ページ数、最大深度、除外URLなどの正確なクロール設定
- 高度なスキャンのタイムアウトと再試行
- クロールするリンクの最大件数やDocument Objet Model(DOM)の深度など、カスタムスキャナーの動作
- 特定の脆弱性タイプを対象としたスキャンモード
これらの設定を再利用可能なプロファイルとして保存することで、複数のアプリケーション間で一貫したセキュリティテストを行えます。すべての変更は監査イベントによって追跡されるため、スキャン設定が追加、編集、削除されたタイミングを把握できます。
このような制御の強化により、詳細な監査証跡を使用してコンプライアンスに準拠したより効果的なセキュリティスキャンを実行できます。パイプライン設定の管理に時間がかからないため、アプリケーションごとに適切なスキャンを素早く実行し、脆弱性を迅速に発見して修正できます。
CI/CDパイプラインの自動クリーンアップ
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
これまでは、古くなったCI/CDパイプラインを削除する場合、API経由で行う必要がありました。
GitLab 17.9では、CI/CDパイプラインの有効期限を設定できるプロジェクト設定が導入され、指定した保持期間よりも古いパイプラインと関連するアーティファクトは自動的に削除されるようになりました。数多くのパイプラインを実行し、大きなアーティファクトを作成するプロジェクトはディスク使用量を圧迫する原因になりますが、この機能により不要なパイプラインやアーティファクトが自動で削除されるため、、ディスク使用量が抑えられ、さらに全体的なパフォーマンスの向上にもつながります。
GitLab 17.9のリリースに含まれるその他の改善点
REST APIでグループからプロジェクトのインテグレーションを管理
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
これまで、グループからプロジェクトのインテグレーションを管理する際は、GitLab UIからしか行えませんでした。本リリースでは、REST APIでもこれらのインテグレーションを管理できるようになりました。
この場を借りて、最初にコミュニティにコントリビュートしてくれたVanさんに感謝します。Vanさんのコントリビュート後、GitLabが引き継いで実装しました。
GitLab Pagesへのアクセスをグループレベルで制御
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
GitLab Pagesへのアクセスをグループレベルで制限できるようになりました。グループオーナーは、ひとつの設定を有効にするだけで、グループとそのサブグループ内のすべてのGitLab Pagesサイトをプロジェクトメンバーのみに限定公開できます。この一元管理により、個々のプロジェクト設定を変更しなくて済むため、セキュリティ管理が簡素化されます。
作業アイテム用GraphQL APIにクエリフィルターを追加
SaaS: Free、Premium、Ultimate Self-Managed: Free、Premium、Ultimate
作業アイテム用のGraphQL APIに新たなクエリフィルターが追加され、次の条件で絞り込めるようになりました。
- 作成日、更新日、完了日、期日
- ヘルスステータス
- ウェイト
これらの新しいフィルターを使用すると、APIを介して作業アイテムをクエリおよび整理する際に、より細かく制御できるようになります。
証明書ベースのKubernetesクラスターの特定および移行
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
証明書ベースのKubernetesインテグレーションは、全ユーザーを対象に、2025年5月6日午前9時(UTC)から2025年5月8日午後10時(UTC)までの間にGitLab.comで無効化されます。さらに、GitLab 19.0でGitLab Self-Managedインスタンスから削除される予定です(2026年5月を予定)。
ユーザーの移行を支援するために、新たなクラスターAPIエンドポイントを追加しました。これにより、グループオーナーは、グループ、サブグループ、プロジェクトに登録されている証明書ベースクラスターをクエリできるようになります。また、移行に関するドキュメントを更新し、さまざまなユースケースの手順を追加しました。
GitLab.comのユーザーのみなさまは、影響の有無を確認した上で、早めに移行計画を立てることが推奨されます。
FluxCD CI/CDコンポーネントを使ったOCIベースのGitOpsの実装
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
FluxCDコンポーネントを使用することで、GitOpsのベストプラクティスを簡単に実現できます。FluxCDコンポーネントを使用してKubernetesマニフェストをOCIイメージとしてパッケージ化し、OCI互換のコンテナレジストリに保存できます。さらに、オプションとして、これらのイメージに署名し、FluxCDによる即時のリコンシリエーション(同期)をトリガーすることも可能です。
Swiftパッケージのライセンススキャンをサポート
SaaS: Ultimate
Self-Managed: Ultimate
GitLab 17.9では、Swiftパッケージのライセンススキャンをサポートしました。これにより、プロジェクト内でSwiftを使用しているユーザーは、Swiftパッケージのライセンスをより詳しく把握できるようになります。
このデータは、依存関係リスト、SBOMレポート、およびGraphQL APIを介して、コンポジション解析ユーザーが利用できます。
プロジェクトの依存関係リストでコンポーネントによるフィルタリング
SaaS: Ultimate
Self-Managed: Ultimate
プロジェクトの依存関係リストで、コンポーネントフィルターを使用してパッケージ名でフィルタリングできるようになりました。
これまで、プロジェクトレベルの依存関係リストでは、パッケージを検索することができませんでした。コンポーネントフィルターを設定すれば、指定した文字列を含むパッケージを見つけられるようになりました。
脆弱性レポートで識別子によるフィルタリング
SaaS: Ultimate
Self-Managed: Ultimate
プロジェクトの脆弱性レポートにおいて、脆弱性識別子を使用して結果をフィルタリングできるようになりました。これにより、プロジェクトやグループに潜む特定の脆弱性(CVEやCWEなど)を見つけられます。識別子は、別のフィルター(重大度、状態、ツールなど)と組み合わせて使用できます。脆弱性識別子フィルターは、脆弱性の数が20,000件を超えるレポートには適用できません。
パイプライン実行ポリシーでマージリクエスト変数をサポート
SaaS: Ultimate Self-Managed: Ultimate
パイプライン実行ポリシーで新しいマージリクエスト変数がサポートされるようになり、マージリクエスト関連の情報を考慮した、これまでよりも洗練されたポリシーを作成できるようになりました。CI/CDの適用をより的確かつ効率的に管理できるようになります。以下の変数がサポートされました。
CI_MERGE_REQUEST_SOURCE_BRANCH_SHA
CI_MERGE_REQUEST_TARGET_BRANCH_SHA
CI_MERGE_REQUEST_DIFF_BASE_SHA
この機能拡張により、次のことが可能になります。
-
ソースブランチとターゲットブランチ間の変更点を比較する高度なセキュリティスキャンを実装し、徹底したコードレビューと脆弱性検出を実現する。
-
各マージリクエストの詳細に基づいて適応する動的な構成のパイプラインを作成し、開発プロセスを効率化する。
ローテーション対象のサービスアカウントにカスタムの有効期限を設定
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
サービスアカウントのアクセストークンをローテーションする際に、expires_at属性を使用してカスタムの有効期限を設定できるようになりました。これまで、トークンは、ローテーションしてから7日後に自動的に失効していました。これにより、トークンの有効期限をよりきめ細かく管理できるようになり、安全にアクセス制御を継続して行う機能が強化されました。
カスタムロールの新しい権限
SaaS: Ultimate
Self-Managed: Ultimate
カスタムロールの作成時に、コンプライアンスダッシュボードの読み取り権限を指定できるようになりました。カスタムロールを使用すると、ユーザーに対して、タスクの完了に必要な特定の権限のみを付与できます。これにより、グループのニーズに合わせてロールを定義できるため、オーナーまたはメンテナーロールが必要なユーザー数を減らせます。
Self_rotate
スコープを使ってアクセストークンをローテーションする
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
self_rotate
スコープを使用して、アクセストークンをローテーションできるようになりました。このスコープは、パーソナルアクセストークン、プロジェクトアクセストークン、グループアクセストークンで使用できます。これまでは、新しいトークンの取得、そしてトークンのローテーションの実行というように、2つのリクエストを行う必要がありました。
この場を借りて、コントリビュートしてくださったStéphane TalbotさんとAnthony Juckelさんに感謝いたします!
複数のOIDCプロバイダーの使用時に追加のグループメンバーシップをサポート
SaaS: -
Self-Managed: Premium、Ultimate
複数のOIDCプロバイダーを使用している場合に、追加のグループメンバーシップを設定できるようになりました。これまでは、複数のOIDCプロバイダーを設定している場合でも、単一のグループメンバーシップしか設定できませんでした。
アクセストークンのIPアドレスを表示
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
これまでパーソナルアクセストークンの表示画面では、何分前にトークンが使用されたかという情報しか確認できませんでした。本リリースでは、トークンが使用された直近7件のIPアドレスも表示されるようになりました。このように情報がまとめて表示されることで、トークンがどこで使用されているかを追跡しやすくなります。
この場を借りて、コントリビュートしてくださったJayce Martinさん、Avinash Kogantiさん、Austin Dixonさん、Rohit Kalaさんに感謝いたします!
AIエージェントとユーザーの両方のアイデンティ情報に基づいたより安全なアクセス管理
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
これまで、GitLabへのリクエストは単一のユーザーとしてのみ認証されていましたが、新しい「複合アイデンティティ」機能を使用することで、リクエストをサービスアカウントとユーザーの両方で同時に認証できるようになりました。AIエージェントのユースケースでは、システム内でタスクを実行したユーザーに基づいた権限が必要とされる一方で、そのユーザーとは異なる独自のアイデンティティを保持することが求められます。複合アイデンティティは、AIエージェントのアイデンティティを表す新しいアイデンティティプリンシパルであり、エージェントにアクションをリクエストした人間ユーザーのアイデンティティと関連付けられます。AIエージェントがリソースにアクセスしようとすると、複合アイデンティティトークンが使用されます。このトークンはサービスアカウントに紐づき、同時にエージェントを指示した人間ユーザーにもリンクされています。トークンに対する認可チェックは、リソースへのアクセスを許可する前に両方のアイデンティティを確認します。両方のアイデンティティがリソースにアクセスする権限を持っていない場合、アクセスは拒否されます。この新機能は、GitLab内でのリソース保護を強化するものです。サービスアカウントの複合アイデンティティの使用方法についての詳細は、ドキュメントをご確認ください。
グループ共有の可視性を強化
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
GitLab全体でグループ共有の可視性が向上しました。これまではグループの概要ページで共有プロジェクトを閲覧できたものの、そのグループがどのグループに招待されているかまでは確認できませんでした。本リリースでは、グループの概要ページに共有プロジェクトと共有グループの両方のタブが表示され、組織全体でどのようにグループがつながり、共有されているかを完全に把握できるようになりました。これにより、組織全体におけるグループアクセスの監査および管理が容易になります。
この変更に関するフィードバックがございましたら、ぜひエピック16777にご投稿ください。
ユーザーによるプロフィールの非公開化を制限
SaaS: -
Self-Managed: Premium、Ultimate
ユーザーは自分のプロフィールを公開するか非公開にするかを選択できます。本リリースより、管理者は、GitLabインスタンス全体でユーザーがプロフィールを非公開にできるかどうかを制御できるようになりました。管理者エリアにある「ユーザーがプロフィールを非公開にすることを許可」という設定で、このオプションを管理できます。デフォルトではこの設定は有効になっており、ユーザーはプロフィールを非公開にできます。
作業アイテムタイプを変更
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
作業アイテムタイプを簡単に変更できるようになりました。これにより、より効率的かつ柔軟にプロジェクトを管理できます。

送信したフォームに子アイテムを直接追加
SaaS: Ultimate
Self-Managed: Ultimate
複数の子アイテムを作成する際に、フォームが送信後も開いたままになるよう改善しました。余分なクリックなしで複数のエントリを簡単に追加できるようになったため、時間の節約につながるほか、タスク管理のワークフローもよりスムーズになります。
ワークスペース拡張機能で提案されたAPIをサポート
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
ワークスペース拡張機能で提案されたAPIの有効化がサポートされ、本番環境での互換性と信頼性が向上しました。このアップデートによって、Python Debuggerなどの重要な開発ツールを含め、提案されたAPIを利用する拡張機能をエラーなしに実行できます。この変更により、安定性を維持しながらAPIアクセスが拡張されます。
GitLabとKubernetesとの統合に関する入門ガイド
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
本リリースでは、新しいKubernetes入門ガイドを追加しました。このガイドでは、GitLabとFluxCDを使用してアプリケーションを直接Kubernetesにデプロイする方法を説明しています。これらのチュートリアルはわかりやく、Kubernetesに関する深い知識がなくても完了できます。そのため、初心者でも経験豊富なユーザーでもGitLabとKubernetesを統合する方法を理解していただけます。
また、Kubernetes入門ガイドには、内容を補完するために、GitLabをKubernetes環境に統合する際の一連の推奨事項も含めました。
Cargo、Conda、Cocoapods、SwiftプロジェクトでSBOMを用いた依存関係スキャンを有効にする
SaaS: Ultimate
Self-Managed: Ultimate
GitLab 17.9のリリースに伴い、コンポジション解析チームがSBOM(ソフトウェア部品表)を用いた依存関係スキャンへの移行を開始します。この移行には、新たな依存関係スキャンアナライザーが導入されます。このアナライザーはGemnasiumに代わるものです。Gemnasiumはバージョン18.0でサポートを終了しますが、GitLab 19.0までは引き続き使用可能です。
SBOMを活用した依存関係スキャンのアプローチにより、対応言語の拡充、GitLabプラットフォーム内の統合強化とユーザーエクスペリエンスの向上、および業界標準のレポート形式(SBOMベースのスキャンとレポート)への移行という点で、お客様をより適切にサポートできるようになります。GitLab 17.9の時点で、新しい依存関係スキャンアナライザーは次のプロジェクトおよびファイル形式の場合、latest
の依存関係スキャンCI/CDテンプレート(Dependency-Scanning.latest.gitlab-ci.yml
)で、デフォルトで有効になります。* conda-lock.yml
ファイルでCondaを使用しているC/C++/Fortran/Go/Python/Rプロジェクト* podfile.lock
ファイルでCocoapodsを使用しているObjective-Cプロジェクト* cargo.lock
ファイルでCargoを使用しているRustプロジェクト* package.resolved
ファイルでSwiftを使用しているSwiftプロジェクト
この変更に伴い、新しいCI/CD変数としてDS_ENFORCE_NEW_ANALYZER
(デフォルトではfalse
)が導入されます。
この方法によって、latest
テンプレートを使用しているすべての既存ユーザーは、デフォルトでGemnasiumアナライザーを引き続き利用でき、上記のファイル形式では新しい依存関係スキャンアナライザーが自動的に有効になります。
新しい依存関係スキャンへの移行を希望する既存ユーザーは、(プロジェクト、グループ、またはインスタンスレベルで)DS_ENFORCE_NEW_ANALYZER
をtrue
に設定してください。この変更の詳細については、非推奨化のお知らせと関連する移行ガイドをご参照ください。
新しい依存関係スキャンアナライザーを一切使用したくない場合は、CI/CD変数DS_EXCLUDED_ANALYZERS
をdependency-scanning
に設定する必要があります。
適用中のセキュリティポリシープロジェクトの削除をブロック
SaaS: Ultimate
Self-Managed: Ultimate
セキュリティポリシーを安全に管理し、有効化・適用されているポリシーの中断を防ぐために、運用中のセキュリティポリシープロジェクトの削除を防ぐ保護機能を追加しました。
グループまたはプロジェクトにリンクされているセキュリティポリシープロジェクトを削除する場合は、まずはリンクを削除する必要があります。
パイプライン実行ポリシーでカスタムステージを適用
SaaS: Ultimate
Self-Managed: Ultimate
CI/CDパイプラインにおいてInject
モードでカスタムステージを適用できる、パイプライン実行ポリシーの新機能をご紹介します。この機能を使用すると、セキュリティを確保し、コンプライアンス要件を遵守しながら、パイプライン構造をより柔軟に制御し、次のことを実現できます。
- パイプラインのカスタマイズの強化:カスタムステージを定義して、パイプラインの特定の箇所に挿入することで、ジョブの実行順序をよりきめ細かく制御できます。
- セキュリティとコンプライアンスの向上:パイプラインにおいて最適なタイミング(例:ビルド後かつデプロイ前)で、セキュリティスキャンとコンプライアンスチェックが実行されるように指定できます。
- 柔軟なポリシー管理:開発チームは定義されたガードレール内でパイプラインをカスタマイズできるものの、ポリシーの一元管理を実現します。
- シームレスな統合:カスタムステージは、既存のプロジェクトステージやその他のポリシータイプと連携するため、CI/CDワークフローが途切れることなく強化されます。
仕組み
新たに改良されたパイプライン実行ポリシー用のinject_policy
アプローチを使用すると、ポリシー設定でカスタムステージを定義できます。定義されたカスタムステージは、有向非巡回グラフ(DAG)アルゴリズムを使用してプロジェクトの既存のステージに自動的に適切なかたちでマージされるため、適切な順序が設定され、競合が回避されます。
たとえば、ビルドステージとデプロイステージの間にカスタムセキュリティスキャンステージを簡単に挿入できます。
inject_policy
ステージは、非推奨となるinject_ci
に代わるものです。inject_policy
モードを選択することでそのメリットを享受できます。ポリシーエディターでInject
を使用してポリシーの設定を行った場合、デフォルトでinject_policy
モードが設定されます。
マージリクエスト承認ポリシーでカスタムロールをサポート
SaaS: Ultimate
Self-Managed: Ultimate
マージリクエスト承認ポリシーをより柔軟に設定できるようにするために、承認者としてカスタムロールを割り当てる機能を追加しました。
これにより、組織のチーム構成や職務に応じた承認要件を設定でき、適切な担当者がポリシーに基づいてレビュープロセスに関与するよう調整可能になります。たとえば、セキュリティレビューにはアプリケーションセキュリティ(AppSec)エンジニアリングロールによる承認を、ライセンス承認にはコンプライアンスロールによる承認を必須とすることができます。

プロジェクトのコンプライアンスセンターを使ってコンプライアンスフレームワークを適用
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
GitLab 17.2では、グループオーナーがグループのコンプライアンスセンターを使用して、グループ内のすべてのプロジェクトにコンプライアンスフレームワークを適用および削除する機能をリリースしました。
本リリースではこの機能がさらに拡充され、グループオーナーはコンプライアンスフレームワークの適用および削除をプロジェクトレベルでも行えるようになりました。これにより、グループオーナーはさらに簡単に、プロジェクトレベルでのコンプライアンスフレームワークの適用およびモニタリングを行えるようになります。
コンプライアンスフレームワークをプロジェクトレベルで適用および削除する機能は、グループオーナーのみが利用可能で、プロジェクトオーナーは利用できません。
サービスアカウントに関するメール通知
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
サービスアカウントのメール通知の送信先として、カスタムメールアドレスを設定できるようになりました。サービスアカウントの作成時にカスタムメールアドレスを指定しておくと、そのメールアドレス宛にGitLabから通知が送信されます。サービスアカウントごとに一意のメールアドレスを用いる必要があります。これにより、プロセスやイベントをより効果的にモニタリングできます。
この場を借りて、コントリビュートしてくださったSNCF Connect & TechチームのGilles Dehaudtさん、Étienne Girondelさん、Kevin Caborderieさん、Geoffrey McQuatさん、Raphaël Bihoreさんに感謝いたします!
OAuthアプリケーション認証の監査イベント
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
これまで、ユーザーがOAuthアプリケーションを認証しても、監査イベントは生成されませんでした。しかし、監査イベントは、特定のGitLabインスタンス上でユーザーが認証したOAuthアプリケーションをセキュリティチームがモニタリングする上で重要な情報です。
本リリースでは、「ユーザーがOAuthアプリケーションを認証した」ことを記録する監査イベントが追加されました。この新たに追加された監査イベントによって、GitLabインスタンスの監査機能がさらに強化されます。
認証情報インベントリでの検索およびフィルタリング
SaaS: Ultimate
Self-Managed: Ultimate
認証情報インベントリで検索とフィルター機能を使用できるようになりました。これにより、ある期間内に有効期限が切れるトークンなど、特定のユーザー定義パラメーターに当てはまるトークンやキーを簡単に特定できます。これまで認証情報インベントリのエントリは静的リストとして表示されていました。
APIを使用して、個々のエンタープライズユーザーの2FAを無効にする
SaaS: Premium、Ultimate
Self-Managed: -
APIを使用して、個々のエンタープライズユーザーの2要素認証(2FA)登録を一括で消去できるようになりました。これまではUIでのみ行えましたが、APIを使用することで、自動化や一括操作が可能になり、2FAの大規模なリセットが必要な場合に時間を節約できます。
無効なプロジェクトアクセストークンとグループアクセストークンを表示
SaaS: Free、Premium、Ultimate
Self-Managed: Premium、Ultimate
UIで無効なグループアクセストークンとプロジェクトアクセストークンを表示できるようになりました。これまでGitLabでは、期限切れまたは失効済みとなったプロジェクトアクセストークンやグループアクセストークンはすぐに削除されていました。無効になったトークンの記録が存在しないため、監査やセキュリティレビューが困難になっていました。本リリースから、無効なグループアクセストークンとプロジェクトアクセストークンの記録が30日間保持されるようになりました。これにより、コンプライアンス対応やモニタリングを目的とした、トークンの使用状況と有効期限の追跡が容易になります。

実験的な機能
ジョブトークンに対するきめ細かい権限
ジョブトークンは、パイプライン内でリソースにアクセスするための一時的な認証情報です。ジョブトークンはユーザーの権限を継承するため、通常は広範なアクセス権限を持っています。ジョブトークンに対してきめ細かく権限を設定することで、ジョブトークンがプロジェクト内のどのリソースにアクセスできるかを制御できます。
この機能に関するフィードバックをお待ちしています。ご質問やご意見のある方、またはGitLabチームとのやり取りをご希望の方は、こちらのフィードバックイシューをご覧ください。
## バグ修正、パフォーマンスの改善、UIの改善
GitLabでは、ユーザーに可能な限り最高の環境をお届けできるよう尽力しています。リリースのたびに、バグを修正し、パフォーマンスを改善し、UIを向上させるためにたゆまぬ努力を続けています。GitLabでは、100万人を超えるGitLab.comユーザーをはじめ、GitLabのプラットフォームをご利用のすべての方々に、スムーズでシームレスな体験をお届けすることを約束します。
以下のリンクをクリックして、17.9のバグ修正、パフォーマンスの強化、UIの改善についてすべてご覧ください。
## 非推奨事項
新たに非推奨になった機能、および現在非推奨になっているすべての機能の一覧は、GitLabドキュメントでご確認いただけます。今後の破壊的な変更について通知を受け取るには、破壊的な変更のRSSフィードにサブスクライブしてください。
-
DASTの
dast_crawl_extract_element_timeout
およびdast_crawl_search_element_timeout
変数を非推奨化 -
defaultMaxHoursBeforeTermination
およびmaxHoursBeforeTerminationLimit
フィールドを非推奨化 -
gitlab-runner
にとって、Linux OSのgitlab-runner-helper-images
パッケージへの依存がオプションに
## 削除された機能と破壊的な変更
削除されたすべての機能の一覧は、GitLabドキュメントでご確認いただけます。今後の破壊的な変更について通知を受けるには、破壊的な変更のRSSフィードにサブスクライブしてください。
変更履歴
変更内容をすべて表示するには、以下のページから変更履歴をご確認ください。
インストール
GitLabを新たにインストールする場合は、GitLabのダウンロードページをご参照ください。
更新
更新ページをご確認ください。
監修:小松原 つかさ @tkomatsubara
(GitLab合同会社 ソリューションアーキテクト本部 シニアパートナーソリューションアーキテクト)
### 過去の日本語リリース情報 - [GitLab 17.9](https://about.gitlab.com/ja-jp/blog/2025/02/20/gitlab-17-9-release/) * [GitLab 17.8](https://about.gitlab.com/ja-jp/blog/2025/01/16/gitlab-17-8-release/) * [GitLab 17.7](https://about.gitlab.com/ja-jp/blog/2024/12/19/gitlab-17-7-release/) * [GitLab 17.6](https://about.gitlab.com/ja-jp/blog/2024/11/21/gitlab-17-6-release/) * [GitLab 17.5](https://about.gitlab.com/ja-jp/blog/2024/10/17/gitlab-17-5-released/) * [GitLab 17.4](https://about.gitlab.com/ja-jp/blog/2024/09/19/gitlab-17-4-released/) * [GitLab 17.3](https://about.gitlab.com/ja-jp/blog/2024/08/15/gitlab-17-3-released/) * [GitLab 17.2](https://about.gitlab.com/ja-jp/blog/2024/07/18/gitlab-17-2-released/) * [GitLab 17.1](https://about.gitlab.com/ja-jp/blog/2024/08/08/gitlab-17-1-released/) * [GitLab 16.11](https://about.gitlab.com/ja-jp/blog/2024/06/20/gitlab-16-11-released/)