こんにちは、エーピーコミュニケーションズ クラウド事業部 CI/CDサービスメニューチームの山路です。
今回は昨年の12月にリリースされたGitLab 16.7 の内容について簡単に紹介します。本記事ではすべてのアップデート情報を詳細に記載してはいませんので、興味ある内容があれば各ドキュメントを参照ください。
- GitLab Duo Code SuggestionsがGAに
- CI/CD Catalogがベータに
- GitLab Pages without wildcard DNS (Experimental)
- その他
- さいごに
GitLab Duo Code SuggestionsがGAに
バージョン16.7で一番の目玉といってもいいでしょう。AI機能を利用したGitLab Duo Code SuggestionsがGAになりました。
以前こちらの記事で紹介しましたが、簡単に言えばGitLabプロジェクト上で管理するコードに対し、開発中のコードの補完と生成をしてくれる機能です。これを有効にすることで、アプリケーション・インフラの開発者の生産性を向上する効果が期待できます。
詳細は別ブログを見ていただければと思いますが、本サービスは2024年2月15日までは無料で利用可能です。
CI/CD Catalogがベータに
CI/CD Catalogとは、CI/CD componentを公開しているプロジェクトのリストです。CI/CD Catalogはパイプラインの再利用をより簡単にし、GitLab CI/CDをさらに使いやすくすることが目的のプロジェクトです。これは独自に作成して他のユーザーに共有することも可能で、立ち位置としてはGitHub MarketplaceからActionを利用するのに近いものだと思います。
CI/CD Catalogにアクセスするには (日本語の場合) 左側メニューの 検索または移動先
から 探索
を選択すると、左メニューに CI/CD カタログ
と表示されます。
GitLab 16.7でCI/CD Catalogはベータ版となりました。前のバージョンと比較すると、タブフィルターやフィルターのオプションなどが追加されています。
- GitLab Document - CI/CD components: CI/CD catalog
- GitLab Document - Architecture: CI/CD catalog
- GitLab Epic - CI/CD Catalog go to Beta
GitLab Pages without wildcard DNS (Experimental)
GitLab PagesはGitLabリポジトリから静的ウェブページを公開する機能です。
GitLab self-managedでGitLab Pagesを利用する場合、GitLab Pages用のドメインにアクセスするため、DNSサーバーにレコードを追加する必要があります。これまでこのレコードは、以下のようにワイルドカードDNSレコードを設定する必要がありました。
# 例: *.example.io. 1800 IN A 192.0.2.1 *.example.io. 1800 IN AAAA 2001:db8::1
この仕様は、規模の小さな組織、または個人が利用する一部サービスで許容されない場合もありました。本リリースでワイルドカードでないDNSレコードも利用可能となり、この機能で一部サービスにも対応し、またApacheなどでカスタムHTTP(S) Proxyを簡単に設定できるようになります。
なお現在この機能はGitLab self-managedではデフォルトで利用可能ですが、SaaS版では利用できません。
- GitLab Document - GitLab Pages: Pages domain without wildcard DNS
- GitLab Issue - GitLab Pages without DNS wildcard - MVC
その他
その他の変更点も記載しておきます。
UI関連の変更
- Insights report chatのUI変更:
Bugs created by priority
Bugs created by severity
という2つのドリルダウンが追加されました (Ultimateプランのみ) (ドキュメント)。 - Merge Request内でSASTの結果を表示: SASTの結果がMR Change viewに表示されるようになり、コードレビュー時にセキュリティの問題をチェックしやすくなりました (SaaS Ultimateプランのみ) (ドキュメント)。
- サイドバーからAdmin Areaにアクセス可能: これまではメニューの
探索
からアクセス可能だったのが、サイドバー下部のリンクから直接移動可能になりました (ドキュメント)。 - 検索結果ページの改善: 検索バーの可視性向上のため、グループとプロジェクトのフィルターを左サイドバーに移動しました (ドキュメント)
- カスタムロールのアサインをUIから: 新規・既存ユーザーに対するカスタムロールの割り当てを可能に (Ultimateプランのみ) (ドキュメント)
セキュリティ関連の変更
- DASTによる脆弱性チェックのアップデート: いくつかのチェック項目が追加されました (Ultimateプランのみ) (ドキュメント)
- DAST認証のマルチステップフォーム:
DAST_AFTER_LOGIN_ACTIONS
変数で、ログイン後に実行するアクションのリストが指定可能になりました (Ultimateプランのみ) (ドキュメント) - Dependency scanningに対する継続的脆弱性スキャンのサポート: 継続的脆弱性スキャン (CVS) がGAになりました。これを有効にするとAdvisory追加時に自動的にプロジェクトをスキャンするようになります (Ultimateプランのみ) (ドキュメント
- 偽陽性を減らすためのSASTアップデート: デフォルトルールセットが更新されました (Ultimateプランのみ) (ドキュメント)
Merge Request関連の変更
- 承認が必要なMRの通知:
Added as approver
を有効にすると、レビュアーとして指定がなくとも、承認可能なMRごとにメールとToDoが送信されます (ドキュメント) - 複雑なMerge Request dependency chainをサポート: 間接的にネストされた依存関係がサポートされました。1つのMRは最大10のMRに、それがさらに他の10のMRにネストされるよう設定可能です (Premiumプラン以上のみ) (ドキュメント)
コンテナ関連の変更
- Network policyの定義: リモート開発向けのKubernetes用GitLab agentを設定する際、Egressルールを含むNetwork policyを設定可能になりました (Premiumプラン以上のみ) (ドキュメント)
- コンテナイメージを持つプロジェクトを改名可能に: コンテナレジストリにイメージを含んでもプロジェクト名を変更できるようになりました (SaaSのみ) (ドキュメント)
その他の変更
- Time formatのカスタマイズ: 新たに24時間表記が可能になりました (ドキュメント)
- OpenTofuのbetaサポート: Terraformのフォーク版であるOpenTofuがサポートされました (ドキュメント)
- Latest job artifactsの改善: 失敗したパイプラインなどの生成物は、最新のもののみ保持し、それ以外は
expire_in
の設定に従うよう改善されました (ドキュメント) artifact:public
というワードがGA: Jobの成果物をPublicに公開するか否かを制御するキーワードを、すべてのユーザーで利用可能になりました (ドキュメント)- Group/Projectの移行完了までのハードコードされたタイムリミットの削除: これまでの8時間というタイムアウト時間が24時間に変更されました (ドキュメント)
- Value Stream Analyticsで事前設定されたフィルターの追加: Value Stream Analyticsに過去30日/60日/90日/180日のフィルターオプションが追加されました (ドキュメント)
- リッチテキストエディタの改善: ver 16.2で導入されたリッチテキストエディタが改善され、バグへの対応などが行われました (ドキュメント)
- GitLab RunnerのSLSA 1.0サポート: SLSA (Supply-chain Levels for Software Artifacts) 1.0に準拠したProvenance metadataを生成するようになりました (ドキュメント)
- アクセストークンをローテーションする際の期限:
expires_at
というパラメータで期限を設定可能になりました (ドキュメント) - Direct transferによる移行の結果表示: GitLab グループやプロジェクトの横にimportの状態を表示するようになりました (ドキュメント)
- List repository tag向けの新しいAPI: 既存のDocker/OCI list image tag registry API から、GitLab.com 専用の registry list repository tag API に変更されました (SaaSのみ) (ドキュメント
- Service desk issueの再オープン: 外部参加者がメールでコメントを追加すると、クローズしたIssueも再度オープンするように修正されました (ドキュメント)
- 優先順位に応じたScan Execution Policyの変数の強制: CI/CD variableの優先順位が改善され、Scan Execution Policyに設定したものを優先するようになりました (Ultimateプランのみ) (ドキュメント)
- SAML attribute statementがMicrosoft SAML Attribute formatをサポート: Premiumプラン以上のみ (ドキュメント)
- バックアップ時に別の圧縮ライブラリを利用可能に:
COMPRESS_CMD
DECOMPRESS_CMD
コマンドを使用して、デフォルトのgzip以外のライブラリを選択できるようになりました (Self-managedのみ) (ドキュメント) - Issue with codeをより検索可能に: コードスニペットやログを説明文に含むIssueを検索可能になりました (Premiumプラン以上のみ) (ドキュメント)
- グループへのカスタムEmojiの追加: ドキュメント
- GitLab Runner 16.7: ドキュメント
- グループの説明文を500文字まで拡張: ドキュメント
- User ProfileにMastodonを追加: ドキュメント
さいごに
弊社はGitLabオープンパートナー認定を受けております。 また以下のようにCI/CDの導入を支援するサービスも行っているので、何かご相談したいことがあればお気軽にご連絡ください。