こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。
今回は9月19日にリリースされたGitLab 17.4 のアップデート内容を紹介します。本記事ではすべてのアップデート情報を詳細に記載してはいませんので、興味ある内容があれば各ドキュメントを参照ください。
- Code Suggestionsがタブで開いたコードの内容を使いコンテキストを意識したコードを生成するよう改善
- GitLab Pages without wildcard DNSがGA (Self-managed版)
- GitLab Duo ChatがIssueで議論した内容を要約する機能がGA
- Advanced SASTがGA
- CI/CD変数を設定後に閲覧・修正できないようにするオプションを追加
- Extension marketplaceをWeb IDEで利用可能に
- その他
- さいごに
Code Suggestionsがタブで開いたコードの内容を使いコンテキストを意識したコードを生成するよう改善
GitLab Duo Code Suggestionsが改善され、編集中と別に開いているタブの内容も使い、コードを生成するようになりました。これにより開発者が実際に扱っているコードをデータとして使うことで、よりコンテキストを意識したコードが生成されるようになり、生産性の向上が見込まれます。
なお本機能はUltimate + Duo Enterpriseプラン利用者が利用できます。
- Code Suggestions | GitLab
- Open File Tabs in Language Server - Advanced Context Resolver (#206) · Issues · GitLab.org / editor-extensions / GitLab Language Server · GitLab
GitLab Pages without wildcard DNSがGA (Self-managed版)
GitLab Pagesは、GitLab上のコンテンツを静的なWebページとして公開する機能です。本リリース以前にGitLab Pagesを利用するには、Wildcard DNSとTLS証明書を用意することが必要でした。この制限により、企業やチームの都合により、GitLab Pagesを利用したくともできないケースがありました。
本リリースでWildcard DNSなしでGitLab Pagesが利用できるようになったことで、これまでGitLab Pagesを利用できなかったProjectが利用できるようになること、GitLab Pagesを管理する運用コストの軽減などが見込まれます。
なお本機能はGitLab Self-managed版で利用できます。
- GitLab Pages administration | GitLab
- GitLab Pages without DNS wildcard (#13404) · Epics · GitLab.org · GitLab
GitLab Duo ChatがIssueで議論した内容を要約する機能がGA
GitLab Duo ChatからIssueの内容を要約する機能がGAされました。長期間にわたる議論がされたIssueの内容をキャッチアップするのは時間のかかる作業ですが、 View summary
というボタンを選択する、またはDuo Chatから /summarize_comments
と入力することで、Issueで議論された内容を要約したものが出力されます。これによりキャッチアップまでの時間を短縮できます。
なお本機能は期間限定でUltimateプラン利用者が利用できます。将来的にはUltimate + Duo Enterpriseプラン利用者のみ利用可能となります。
- Comments and threads | GitLab
- Move issue discussion AI summary into Duo Chat (#454550) · Issues · GitLab.org / GitLab · GitLab
Advanced SASTがGA
Advanced SASTは、今年GitLabが買収したOxeye社の技術を使った、より高性能なセキュリティ機能です。Advanced SASTはこれまでより正確なスキャン結果を提供し、偽陽性によるノイズの検出率が低下しました。これにより開発者やセキュリティチームがスキャン結果を精査する時間を排除し、本来注力すべき機能開発に多くの時間を使えます。
GitLabのブログでは、Advanced SASTの特徴を以下のように紹介しています。
- 検知した脆弱性の優先順位を決める時間を減らす: 新しい検出エンジンは機能横断的・ファイル横断的に脆弱性分析を行い、実際に悪用可能と思われる脆弱性を洗い出します。
- 迅速な修復を可能に: GitLab Duo Enterprise AIとの連携などにより、開発者に脆弱性に関する重要な情報を提供します。
- 開発ワークフローにネイティブに組み込まれる: Advanced SASTはGitLab CI/CDから起動を設定し、パイプラインやMerge requestと統合されています。これにより既存の開発フローにセキュリティ対策を組み込むことができます。
なお本機能はUltimateプラン利用者が利用できます。
- GitLab Advanced SAST analyzer | GitLab
- Feedback issue - GitLab Advanced SAST (#466322) · Issues · GitLab.org / GitLab · GitLab
CI/CD変数を設定後に閲覧・修正できないようにするオプションを追加
GitLab CI/CD変数にオプションが追加され、設定後の閲覧・変更ができないよう設定することが可能となりました。 Masked and hidden
というオプションを選択することで、作成時以外は設定値を閲覧・変更することができなくなるため、機密性の高いデータを見られる危険性を更に低下できます。
- GitLab CI/CD variables | GitLab Docs
- Frontend (Variable drawer): Add "Masked and hidden" option to "Visibility" options (#29674) · Issues · GitLab.org / GitLab · GitLab
Extension marketplaceをWeb IDEで利用可能に
GitLabからWeb IDEを起動するとVSCodeのような編集画面が表示されます。本リリースからWeb IDEでExtension marketplaceが利用可能となり、3rdパーティ製品の検索やインストールが可能となります。
なお、一部Extensionはローカルのランタイム環境が必要なため、利用できない場合もあります。
- Web IDE | GitLab
- Enable Web IDE Extension Marketplace for GitLab.com (#11769) · Epics · GitLab.org · GitLab
その他
CI/CD関連
- Auto-merge機能がデフォルトで利用可能に: Merge requestでAuto-mergeを設定すると、承認やパイプラインといった全てのチェックポイントをクリアした時自動的にマージされます。
- 複数のGitLab Pagesを並列にデプロイする機能がベータ版に: 複数の言語をWebサイトで扱う場合などに役立ちます (Premiumプランで利用可能) 。
- Code Intelligenceを設定するCI/CD componentを提供開始: 現在はGo / Typescript / JavaScriptをサポートしています。
- Merge requestに含まれるファイルへのリンクを提供したときの挙動を改善: リンクをクリックして遷移した画面の一番上に、目的のファイルが表示されるようになりました。
- JaCoCoをサポートする機能がベータ版に: JaCoCoのCoverage reportをMerge requestから利用できます。
- Protected environmentで一部Jobが手動実行になる問題を解消
Kubernetes関連
- Kubernetes Dashboard上でリソースごとのEventを閲覧可能に: Dashboardから各リソースの詳細ページに移動すると、リソースのEventを閲覧できます。
- Kubernetes DashboardからFluxの同期をトリガー可能に
GitLab Duo関連
GitLab DuoはUltimate + Duo Enterpriseプラン利用者が利用できます。
- Self-managed版でGitLab Duoシートを割り当てたメンバー宛にメールを送信する: メール送信を無効化したい場合は
duo_seat_assignment_email_for_sm
feature flagを無効化します。 - JetBrainsのGitLab Duo pluginでOAuthによる認証が可能に
セキュリティ関連
- Secret Detection機能がAnthropic APIキーをサポート
- サポートを終了したSAST analyzerを自動的に削除する: GitLab 17.3.1以上にアップグレードすると、サポートを終了したanalyzerに残っている脆弱性を自動的に解消します (Ultimateプランで利用可能) 。
- Security policyと紐づくProjectに対し
pipeline-execution.yaml
へのアクセス権限を付与する: Ultimateプランで利用可能。 - CI/CDのArtifact reportでCycloneDX ver. 1.6 SBoMをサポート: Ultimateプランで利用可能。
- Self-managed版でトークンの有効期限設定を強制するか設定可能に
- Compliance project reportにて複数のCompliance frameworkから検索が可能に: Ultimateプランで利用可能。
- Pipeline execution policyでJob間の名前が衝突したときの挙動を設定可能に: デフォルトでは
suffix: on_conflict
が設定され、名前の重複したPolicy job名を修復します (Ultimateプランで利用可能)。
Deprecation
- User/Project/Group APIエンドポイント向けのRate limitをデフォルトで有効に: GitLab 18.0から導入されるようです。
registry.gitlab.com/gitlab-org/security-products/
配下のコンテナレジストリがアクセス不可に: GitLab 18.0でアクセス不可となります。以降はregistry.gitlab.com/security-products
からのみアクセス可能となります。heroku/builder:22
イメージを廃止: GitLab 18.0で廃止され、heroku/builder:24
に更新されます。- GraphQLの
add_on_purchase
がadd_on_purchases
に変更される: GitLab 18.0で変更されます。
その他
※クリックすると項目を表示します
- WebhookリクエストでIdempotency keyをサポート
- 失敗したWebhookリクエストをAPIから再送することが可能に
- Wikiのサイドバーがサイズ変更可能に
- Group/Projectメンバーの表示ページを改善
- Group/Project APIからInviteされたGroupの一覧を取得可能に
- Groupレベルのドメイン制限をAPIから設定可能に
さいごに
弊社はGitLabオープンパートナー認定を受けております。 また以下のようにCI/CDの導入を支援するサービスも行っているので、何かご相談したいことがあればお気軽にご連絡ください。