APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

GitLab 16.10 アップデート内容の紹介

こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。

今回は3月21日にリリースされたGitLab 16.10のリリース情報を紹介します。本記事ではすべてのアップデート情報を詳細に記載してはいませんので、興味ある内容があれば各ドキュメントを参照ください。

なおGitLab 16.10へのバージョンアップ時は、内部で利用するPatroniのメジャーバージョン更新に伴い、ダウンタイムを伴うアップグレードとなります。

about.gitlab.com

CI/CD Catalog利用時のversionをSemantic versioningに強制

GitLab CIでCI/CD Catalogを利用するとき、 <FQDN>/<Projectパス>/<component名>@<バージョン> という形式で指定をします。GitLab 16.10からは バージョン 部分を3-digitなSemantic versioningか latest で指定することが強制されるようになりました。

こちらのIssueによれば、以前は以下のような挙動が確認されており、一貫した結果を提供するうえで課題があったようです。

  • v2.0.0 タグを作成・リリースする。
  • その後、 v1.5.0 タグを新しく作成・リリースする。
  • latest タグを使って呼び出すと v1.5.0 のものが返される。

https://about.gitlab.com/images/16_10/component.png

GItLabページより

GitLab Duo機能をProject/Group/Instanceレベルで有効・無効の切り替え可能に

GitLab Duoで提供されるAI機能をより細かくコントロールできるようにするため、Project/Group/InstanceレベルでGitLab Duo機能を無効にできるようになりました。また、無効化後は特定のProject/Groupに対して有効化することも可能です。

※Premium以上のプランで利用可能

Wiki templateを利用可能に

GitLab Wikiは、Project内部でドキュメントを作成・保存する機能ですが、このtemplateが利用可能となりました。Issueでは、 Requirements / Functional Specifications / Meeting Minutes などを挙げていますが、あらかじめこういったテーマに合わせたテンプレートを用意することで、より素早く、一貫したフォーマットのドキュメント作成が期待できます。

Contribution Analytics report機能をClickHouseと統合することでパフォーマンス向上

Contribution Analytics report機能がClickHouseと統合することで性能を向上しました。

※SaaS Ultimateプランで利用可能

GitLab DedicatedでGitLab Pages/Advanced Search機能を利用可能に

GitLab Dedicatedプランで、GitLab Pages/Advanced Search機能が利用可能になりました。なおGitLab Pagesの一部機能は提供されません

Secondary runnerを使用してPrimary siteの負荷を軽減する

GitLab Geoは、グローバルに分散したチームの開発をサポートするためのソリューションです。GitLab GeoはGeo proxyingという機能があり、Secondary siteでの操作やトラフィックなどをPrimary siteに代わりに処理させることができます。

Geo proxyingを有効にした状態では、Secondary siteにGitLab runnerを登録し (Secondary runner)、Primary siteからの負荷を軽減することができます。本機能は以前から使用可能でしたが、16.10でGA扱いになったようです。

※Self-managed Premium以上のプランで利用可能

その他

Merge request関連

  • Merge widgetの拡張による複数のブロック要素の可視化を向上: Document / Epic
  • プロセス等が生成したファイルをMR内で折りたたんで表示する: package-lock.json Gopkg.lock といった、ユーザー・自動プロセスで生成されたファイルを折りたたんで表示するようになりました。FBはこちらのIssueから。 Document / Epic
  • Merge request approval ruleからMerge request approval policyへの名称変更: Ultimateプランで利用可能。 Document / Epic
  • Merge request approval policy違反時にWidgetに表示するように: Ultimateプランで利用可能。 Document / Issue

Kubernetes関連

  • Kubernetes向けダッシュボードを手動でリフレッシュ可能に: Document / Issue
  • GitLab Helm chartの改善: Kubernetes 1.27へのGitLabインストールがサポートされました。Self-managedのみ。 Document

Value Stream関連

  • Value Stream Analyticsの継承フィルター: Lead time タイルから Issue Analytics reportにドリルダウンする際に同じフィルターが適用されるようになりました。Premium以上のプランで利用可能。 Document / Issue
  • Value Stream Dashboardでcontributor countメトリクスの導入: Group内でcontributionを行った月間ユーザー数を表示するメトリクスが追加されました。SaaS Ultimateプランで利用可能。 Document / Issue

Deprecation関連

  • Protected variables / multi-project pipelineの挙動の変更: GitLab 18.0では以下のように変更されます。 Document
    • ProjectレベルのProtected variableは、同じProjectの子パイプラインにのみ転送可能になります。
    • GroupレベルのProtected variableは、元のProjectと同じGroupに所属するProjectの子パイプラインにのみ転送可能になります。
  • Hosted runner on linuxのOS更新: GitLab 17.0ではCOS (コンテナ最適化OS) アップグレードの中にDocker Engineの 23.0.5 へのバージョン更新が含まれるため、Docker-in-Docker / Kaniko の特定のサービスバージョンを使用するGitLab CI/CDが失敗します。 Document

その他

  • Webhook用のPayload テンプレートを提供: 特定のJSON payloadしか送れなかったのが、カスタムテンプレートを設定してWebhookを送信できるようになりました。 Document / Issue
  • Google chatのスレッド通知: 同じIssueやMerge requestに対する通知は、スレッド通知がデフォルトで有効になりました。 Document / Issue
  • GitLab quick actionの /iteration–current / –next という引数が利用可能に: Premium以上のプランで利用可能。 Document / Issue
  • GitLab Pagesのドメインレベルのリダイレクト: Document / Issue
  • list repository tags APIの導入: パフォーマンスや検索性に課題のあったAPIに対応するため、list repository tags APIを導入しました。SaaSで利用可能。 Document / Epic
  • GitLab runner 16.10: Document
  • Environment detail pageの改善: deployment / Kubernetesクラスターなどの最新情報が表示されるようになりました。 Document / Issue
  • UI/APIからService Desk ticketを作成する: /convert_to_ticket user@example.com というQuick actionでUI/APIからService ticketを作成できるようになりました。 Document / Issue
  • Container ScanningでのContinuous Vulnerability Scanningがデフォルトで有効に: Document / Epic
  • DAST analyzerのパフォーマンス更新: Proxyベース、及びブラウザベースのDASTパフォーマンスが改善されました。Ultimateプランで利用可能。 Document / Epic
  • Scala sbt向けのDependency Scanningの改善: Ultimateプランで利用可能。 Document / Issue
  • Audit eventへの scope 属性の導入: Eventがどの範囲のリソースに関連付けられているかを示す scope 属性が追加されました。Premium以上のプランで利用可能。 Document / Issue
  • Custom roleをアサインする時のAudit event: ユーザーが異なるRoleを割り当てられるときに、Custom roleを含めてAudit eventを記録するようになりました。Premium以上のプランで利用可能。 Document / Issue
  • GitLab認証時のAuthentication rate limitを示すエラーメッセージの改善: Document / Issue
  • Service accountの名称をカスタマイズ可能に: Premium以上のプランで利用可能。 Document / Issue
  • Custom role向けの新しい権限: CI/CD変数の管理、Group削除という権限が追加されました。Ultimateプランで利用可能。 Document / Issue
  • LDAP向けのSmart card認証サポート: LDAPサーバーに対するSmart card認証がMicrosoft Entra IDをサポートしました。Self-managed Premium以上のプランで利用可能。 Document / Issue
  • Sign-inページの改善: スペーシングの問題、ダークモードへの対応、Cookieの設定管理ボタンの追加など改善されました。 Issue
  • Webhookのmutual TLSサポート: Self-managedのみ。 Document / Issue
  • Omnibusの改善: Self-managedのみ。 Document / Epic
  • Groups APIの可視性でフィルター: Document / Issue
  • ブロックされたユーザーをFollower listから除外する: Document / Issue
  • 削除したProjectがPending deletion バッジで表示されるように: Premium以上のプランで利用可能。 Document / Issue
  • GraphQL APIを使ってEnterprise userでGroupメンバーをフィルタリング: SaaSのみ。 Document / Issue

さいごに

弊社はGitLabオープンパートナー認定を受けております。 また以下のようにCI/CDの導入を支援するサービスも行っているので、何かご相談したいことがあればお気軽にご連絡ください。

www.ap-com.co.jp