こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。
今回は3月21日にリリースされたGitLab 16.10のリリース情報を紹介します。本記事ではすべてのアップデート情報を詳細に記載してはいませんので、興味ある内容があれば各ドキュメントを参照ください。
なおGitLab 16.10へのバージョンアップ時は、内部で利用するPatroniのメジャーバージョン更新に伴い、ダウンタイムを伴うアップグレードとなります。
- CI/CD Catalog利用時のversionをSemantic versioningに強制
- GitLab Duo機能をProject/Group/Instanceレベルで有効・無効の切り替え可能に
- Wiki templateを利用可能に
- Contribution Analytics report機能をClickHouseと統合することでパフォーマンス向上
- GitLab DedicatedでGitLab Pages/Advanced Search機能を利用可能に
- Secondary runnerを使用してPrimary siteの負荷を軽減する
- その他
- さいごに
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
のものが返される。
※GItLabページより
- CI/CD components | GitLab
- Backend: `~latest` will return the latest semantic version of the component (#442238) · Issues · GitLab.org / GitLab · GitLab
GitLab Duo機能をProject/Group/Instanceレベルで有効・無効の切り替え可能に
GitLab Duoで提供されるAI機能をより細かくコントロールできるようにするため、Project/Group/InstanceレベルでGitLab Duo機能を無効にできるようになりました。また、無効化後は特定のProject/Groupに対して有効化することも可能です。
※Premium以上のプランで利用可能
- GitLab Duo | GitLab
- Enterprise control for AI: Allow owners to control which of their data can be used with Duo features (&12404) · Epics · GitLab.org · GitLab
Wiki templateを利用可能に
GitLab Wikiは、Project内部でドキュメントを作成・保存する機能ですが、このtemplateが利用可能となりました。Issueでは、 Requirements
/ Functional Specifications
/ Meeting Minutes
などを挙げていますが、あらかじめこういったテーマに合わせたテンプレートを用意することで、より素早く、一貫したフォーマットのドキュメント作成が期待できます。
Contribution Analytics report機能をClickHouseと統合することでパフォーマンス向上
Contribution Analytics report機能がClickHouseと統合することで性能を向上しました。
※SaaS Ultimateプランで利用可能
- Contribution analytics | GitLab
- [CA PoC] Eventual consistency for the events table (#428260) · Issues · GitLab.org / GitLab · GitLab
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以上のプランで利用可能
- Secondary runners | GitLab
- Accelerate runners using Geo secondary sites (&9779) · Epics · GitLab.org · GitLab
その他
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の導入を支援するサービスも行っているので、何かご相談したいことがあればお気軽にご連絡ください。