こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。
今回は4月19日にリリースされたGitLab 16.11のリリース情報を紹介します。本記事ではすべてのアップデート情報を詳細に記載してはいませんので、興味ある内容があれば各ドキュメントを参照ください。
GitLab Duo ChatがGAに
GitLab Duo ChatはGitLabの提供するAIサービスの一つです。主にチャット形式で利用者の課題解決をサポートする機能で、CI/CDやGitLabに関する一般的な知識の問い合わせ対応のほか、以下のような機能を提供します。
- Code explanation: IDE等で開いたコードがどのように動くかを説明します。プロジェクト参入直後や新しいタスクに着手する開発者に、初めてのコードでも理解するサポートをします。
- Code refactoring: 既存コードに対する改良案を提案します。開発中のコードをより少ない量で記述できることを開発者に伝え、より効率的な開発をサポートします。
- Test generation: 関数やメソッドに対するテストコードを生成し、早い段階でバグを検出できるようサポートします。
GitLab Duo ChatはGitLab UI、Web IDE、VSCode、JetBrainsから利用できます。JetBrains IDEでの利用は本リリースから可能となりました。
GitLab Duo Chatは現在、すべてのPremium/Ultimateプランのユーザーがアクセス可能となっています。GItLab Duo ChatはGitLab Duo Proの一部であり、一定期間が経過後はDuo Proにアクセスが制限されるようです。GitLab Duo Chatを試してみたい方は、今のうちにアクセスするのがよいでしょう。
なお、GitLabのインスタンス・Group管理者は、GitLab Duo Chatの利用をインスタンス・Group・Project単位で制限することも可能です。
Product Analytics
Product Analyticsは、ユーザーの開発・提供するプロダクトが誰にどう使われているか、といったデータを提供し、データに基づいた意思決定とプロダクト開発をサポートする機能です。Product AnalyticsはGitLab 16.7でベータ版として提供されており、本リリースではいくつかの機能追加に加え、Self-managed版、Dedicated版でも提供されるようになりました。
なおProdyct AnalyticsはUltimateプランで利用可能であり、かつKubernetesクラスターにHelmチャートをインストールする必要があります。
- Document - Product Analytics
- Issue - Project-level bring-your-own-cluster for Product Analytics for GitLab.com and self-managed
Epic/IssueからWikiページへのリンクが簡単に
本リリースから、Wikiページリンクの自動補完機能が追加されました。以前はEpic/IssueからWikiページへのリンクを作成するにはURLのコピーペーストが必要でしたが、これ以降はGitLab特有のリファレンスとして以下が利用可能となりました。
[[HOME]]
: WikiページURLの末尾がWikiのタイトルと一致する場合[[How to use GitLab\|how-to-use-gitlab]]
: WikiページURLの末尾がWikiのタイトルと異なる場合
- Document - GitLab Flavored Markdown (GLFM): GitLab-specific references
- Issue - Add autocomplete support for wiki pages
その他
Pipeline関連
Job失敗時にPipelineを停止するオプションの追加: 本リリースでは
workflow:auto_cancel:on_job_failure
というCI/CDキーワードが追加され、これをall
に設定することで、Pipeline中のいずれかのJobが失敗したときにPipelineを停止することが可能となりました。以前はあるJobが失敗したのを発見したとき、CI/CDの無駄な実行時間を減らすために、他のJobを手動で停止するケースがありました。本機能を使うことで、そのような手間を減らすことが可能です。 Document / Issueretry:exit_codes
によるJobリトライ条件の追加:retry:when
retry:max
に加え、retry:exit_codes
というキーワードが追加され、特定の終了コードに応じてJobを再実行できるようになりました。 Document / Issue
GitLab UI関連
- Project概要のデザイン変更によりサイドバーからすべての情報を閲覧可能に: Document / Issue1 / Issue2
- GitLab PagesへのリンクがProjectのサイドバーに追加: これまで探しにくかったGitlab Pagesに簡単にアクセスできるようになりました。 Document / Issue
- Roadmap / Epic board上でEpicの色分けが可能に: Document / Epic
- Pipeline graphのデザイン修正: Jobのグループ化、Downstream pipelineの可視性向上など改善されました。 Document / Issue
- ユーザー名設定時の検証と利用可能な文字の表示の改善: ユーザー登録時に利用できない文字 (先頭に
_
-
、末尾に.
.git
など) などの基準を正確に表示するよう改善されました。 Document / Issue - アーカイブしたProjectへのバッジ追加:
Archived
バッジの他、アラートメッセージの表示、Group削除時のアーカイブされたProject数の表示などが追加されました。 Document / Issue1 / Issue2 - Self-managed版のAdmin Areaにおけるユーザー表示の改善: 検索フィルターが検索ボックスに統合されました。 Document / Issue
Google Cloudとの連携
- Google Cloud Engine Runnerの自動作成がパブリックベータに: GitLab Runner Infrastructure Toolkitのterraformテンプレートにより、Google Cloud EngineでGitLab Runnerのプロビジョニングが可能になりました。 Document / Epic
- GitLab ProjectからGoogle Artifact Registryへの接続が簡単に: Google Artifact Managementの機能により、GitLabとGoogle Artifact Registryを接続可能になりました (GitLab.comで利用可能)。 Document / Epic
- Workload identity federationによるGitLabとGoogle Cloudの接続: Workload identity federationにより、Service account keyを使わずGitLabとGoogle Cloud間でIAMロールをマッピング可能になりました (GitLab.comで利用可能)。 Document / Epic
セキュリティ関連
- Security policy scopesの導入: Security policy scopeはセキュリティスキャンの対象を制限する機能を提供し、ポリシーごとに対象のProjectなどを制限できます (Ultimateプランで利用可能)。 Document / Epic
- Enterprise UserでPersonal Access Tokenの発行・使用を禁止できるように: SaaS版Premium以上のプランで利用可能 Document / Issue
artifacts:access
によるArtifactのダウンロードのRoleレベルの制限: Document / Issue- Hashicorp Vaultとの連携で
generic
タイプの追加: Hashicorp Vault Artifactory Secrets Plugin / AWS Secretsエンジンをサポートしました。 Document / Issue - DAST analyzerのパフォーマンス改善: Ultimateプランで利用可能。 Document / Issue
- Dependency graphの導入: Dependency Scanningレポートで生成されたSBoMに対し、依存関係のグラフにアクセス可能となりました (Ultimateプランで利用可能)。 Document / Epic
- Dependency ScannngのYarn v4サポート: Ultimateプランで利用可能。 Document / Epic
- Compliance FrameworkでのSecurity Policyへのリンクを表示: Ultimateプランで利用可能。 Document / Epic
- Security policyの重複問題を解消: GitLab 16.9で発生したPolicyリストで同じポリシーが重複する問題を解消しました (Ultimateプランで利用可能)。 Document / Issue
- Security policy botの機能拡張: Merge requestをブロックするセキュリティ事項などをコメントするようになりました (Ultimateプランで利用可能)。 Document / Issue
その他
- SwitchboardからDedicatedインスタンスに行った変更がメール通知されるように: Self-managed版Ultimateプランで利用可能です。 Document / Issue
- ProjectのImport Jobの同時実行数上限をユーザーが設定可能に: Self-managed版で利用可能です。 Document / Issue
- GitLab Webhookにカスタムヘッダーを設定可能に: Document / Issue
- GitLab for Slack appをGroup/Instance単位で設定可能に: Document / Issue
- Project向けtest hookをREST APIから実行可能に: Document / Issue
- Value stream analyticsでIssue/MRのラベルごとの時間をより正しく表示するように: Premium以上のプランで利用可能です。 Document / Issue
- Group comment templateによる繰り返し使われるコメントのテンプレート化: Groupレベルのテンプレートもまもなく提供されるようです。Document / Issue
- Product AnalyticsとGtLab Duoの連携: Ultimateプランで利用可能です。 Document / Epic
- Application secretをAPIから更新可能に: Self-managed版で利用可能です。 Document / Issue
- Group/Project access tokenの期限切れをWebhookから通知可能に: Premium以上のプランで利用可能です。 Document / Issue
- GitLab Runner 16.11: Document
- AutoDevOpsのステップ変更:
heroku/buildpacks:20
イメージの廃止に伴いheroku/builder:20
へと移行します。 Document / Issue - Omnibus版の改善: Self-managed版のみ。 Document
GITLAB_SHARED_RUNNERS_REGISTRATION_TOKEN
の廃止: Document
さいごに
弊社はGitLabオープンパートナー認定を受けております。 また以下のようにCI/CDの導入を支援するサービスも行っているので、何かご相談したいことがあればお気軽にご連絡ください。