こんにちは、クラウド事業部 CI/CDサービスメニューチームの山路です。
今回は7月18日にリリースされたGitLab 17.2 のアップデート内容を紹介します。本記事ではすべてのアップデート情報を詳細に記載してはいませんので、興味ある内容があれば各ドキュメントを参照ください。
- Dashboard for Kubernetes上でPod/コンテナのLog streamを確認可能に
- Merge requestで request changes があればマージをブロックする機能を追加
- Vulnerability ExplanationがGAに
- Pipeline execution policy typeの追加
- GitLab Duo Chat / Code SuggestionsがGitLab Workspacesで利用可能に
- その他
- さいごに
Dashboard for Kubernetes上でPod/コンテナのLog streamを確認可能に
GitLabはKubernetesと連携してクラスターへのデプロイやDashboardを通じた状態確認ができます。ver 16.1ではPodのリストと各リソースのNamespaceや起動時間といった詳細な情報の提供を開始しましたが、Podのログなどのより詳細な情報の取得は他ツールの導入が必要でした。
本リリースでは、GitLabと連携したKubernetes上のPod/コンテナのログを、3rd partyツールを追加導入することなく確認可能となりました。これによりDashboard for Kubernetesで状態を確認、異常を見つけたらすぐに詳細な調査を始めることも可能となります。
※GitLabリリースページより引用
- Dashboard for Kubernetes | GitLab
- Environment logs and events streaming visualisation - Design (&13793) · Epics · GitLab.org · GitLab
Merge requestで request changes
があればマージをブロックする機能を追加
※本機能はPremiumプラン以上のユーザーが利用可能です。
GitLab 16.9ではMerge requestに対するレビュー結果として approve
comment
に加えて request changes
が加わりました。 request changes
はマージ前に解決すべき問題を見つけた際のアクションですが、本リリースからこのアクションがあった場合は解決するまでマージをブロックするよう機能追加されました。
request changes
があるとGitLabはリクエストにあった修正点が解消されたかをチェックします。そして request cahnges
を出したレビュアーが再度チェックし approve
をするまでマージをブロックします。
※GitLabリリースページより引用
なお request changes
を出したユーザーが何らかの事情でapproveできない場合も、マージ権限を持つ別のユーザーにバイパスすることが可能なようです。
- Merge request reviews | GitLab
- Block merge request with a negative approval signal (#761) · Issues · GitLab.org / GitLab · GitLab
- Request changes on merge requests (&11719) · Epics · GitLab.org · GitLab
Vulnerability ExplanationがGAに
※本機能はUltimate + Duo Enterpriseプランのユーザーが利用可能です。
Vulnerability Explanationは現在GitLab Duo Chatに含まれる機能であり、SASTによって検出された脆弱性に対して追加で質問ができます。例えばその脆弱性はどのように悪用されるのかや、どう修正すればよいか、といったことを質問できます。本リリースからVulnerability ExplanationはGAとなりました。
※GitLabリリースページより引用
Pipeline execution policy typeの追加
※本機能はUltimateプランのユーザーが利用可能です。
本リリースからSecurity policyに新たにPipeline execution policy typeが追加されました。このポリシーは一般的なCI Jobやスクリプトの実行を強制することをサポートします。本機能は主にセキュリティやコンプライアンスチームに対し、複数のProjectにまたがって共通のセキュリティテンプレートやツールを実行できるようサポートします。
Pipeline execution policy typeは Inject
と Override
の2つのモードがあり、前者は既存のパイプラインにJobを追加し、後者は既存パイプラインを置き換えます。
- Pipeline execution policies | GitLab
- Pipeline Execution Policy Type (&13266) · Epics · GitLab.org · GitLab
GitLab Duo Chat / Code SuggestionsがGitLab Workspacesで利用可能に
※Premiumプラン以上のユーザーはWorkspaceを、Ultimate + Duo EnterpriseプランのユーザーはGitLab Duoを利用可能です。
GitLab Workspacesは開発環境向けの仮想環境を構築する機能ですが、本リリースからWorkspaces上でGitLab Duo Chat / Code Suggestionsが利用可能となりました。これによりWorkspaces上で開発を行う場合もAIを活用した開発生産性の向上が可能となります。
- GitLab Duo | GitLab
- Integrate Duo Chat and Code Suggestions into a workspace (&12780) · Epics · GitLab.org · GitLab
その他
GitLab Duo関連
※Ultimate + Duo Enterpriseプランで利用可能
-
glab
コマンドからGitLab Duoへの問い合わせ機能がGAに:glab duo ask <gitに関する質問>
と入力すると、適切なgitコマンドを案内してくれます。 Document - Merge commit message generatorがGAに: Merge requestをマージする際のCommit messageを生成する機能がGAになりました。 Document
CI/CD関連
- Terraform module registryにREADMEを追加: Moduleごとに目的や設定方法などを記述可能となりました。 Document
-
rules:changes:compare_to
キーワードでCI/CD変数を指定可能に: 複数Jobでcompare_to
を再利用可能になりました。 Document - Amazon EC2向けGitLab Runner fleeting pluginがGAに: 前回リリース時にも登場したFleet pluginのAWS版がGAしました。 Document
- Pipeline secret detectionのサポートを拡張:
secrets.passthrough
に新たにgit
url
という2つのtypeが追加されました (Ultimateプランで利用可能) 。 Document - Pipeline scheduleを作成日や実行順で並べ替え可能に
- Runnerの
livenessProbe
readinessProbe
を設定可能に - Kubernetes executorで
umask 0000
コマンドの有効・無効を切り替え可能に: これまではHelperイメージがumask 0000
を実行することで、コンテナ内の全てのファイル・ディレクトリが誰からでも書き込み可能となっていました。これを制御可能になります。 - GitLab Runner OperatorがOpenShift 4.16をサポート
- Deployment関連の監査イベントを追加:
deployment_started
deployment_approved
deployment_rejected
が追加されました (Premiumプラン以上で利用可能) 。 Document
Wiki関連
- Wikiページのサイドバーの改善: Wiki上の全ページの表示、TOCの表示、検索バーの追加など。
- Wikiページのタイトルを修正してもパスが変更されないよう修正: Wikiのタイトルとパスを別々に管理するよう変更されました。またパスを修正しても、自動的にリダイレクトするよう設定されます。 Document
セキュリティ関連
※特に記述がない場合、Ultimateプランで利用可能
- Container Scanning向けの継続的脆弱性スキャン対象に
apk
rpm
のパッケージバージョンを追加: Document - Secret Push ProtectionをSelf-managed版でも利用可能に: Document
- 漏洩した可能性のあるSecretの検出機能の改善: Secretの詳細などを表示するよう修正。
- API Security testで
APISEC_PER_REQUEST_SCRIPT
による署名付き認証要求をサポート - API Fuzz testで
FUZZAPI_PER_REQUEST_SCRIPT
による署名付き認証要求をサポート - DAST analyzerの更新: チェックポイントの追加、バグ修正など。
- GitLab Advanced SASTがGo / Java / Pythonで利用可能に
- Scan Execution PolicyでMerge request pipelineでのスキャン実行を設定可能に: Security job templateを
latest
にすることで実現可能となりました。 - Compliance frameworkをSubgroupに割り当てる機能を追加: Premiumプラン以上で利用可能。
Deprecation
- FIPS-compliant Secure analyzerがUBI MinimalからUBI Microに変更: ver 17.3で実施されます。
その他
※こちらをクリックすると展開されます
- コマンドパレットからProject設定を検索可能に: GitLabの検索で
>
の後ろにProjectの設定 (Protected tags
など) を入力すると、Project設定が検索され、画面に飛べるようになりました。 Document - Workspaceで利用するGitLab agentに対する認証を有効化できるように: Group owner / Administratorは、Group内のWorkspaceで利用するGitLab agentを制御できるようになりました。 Document
- OAuth 2.0 device authorization grantをサポート: Document
- GitLab for Jira Cloud appで連携した時にGitLabで削除したブランチがJiraからも削除されるよう修正
- GitHub等からインポートしたアイテムのユーザーをUIに表示: インポート時に作成されたものか、インポート後にGitLab上で作成されたものか判別可能となります。
- Issue上のTo-doアイテムのうち、関連するスレッド上でアクションした場合のみ解消するよう修正: Document
- Issues event webhookに
object_attributes.type
を追加 -
git-lfs
の転送プロトコルでSSHが利用可能に - OAuth認証画面の改善
- 複数のトークンが失効する期日を特定可能に: Self-managed版で利用可能。 Document
-
gcloud
コマンドをWorkload identity federationの設定で利用可能に: 以前はcurl
コマンドで取得したスクリプトを利用していました (SaaS版で利用可能) 。 - Administrator設定時のメールアドレス変更を強制するように変更: 初期セットアップ時にランダムなメールアドレスを表示し、アドレスの変更を強制するようになりました (Self-managed版で利用可能) 。
- GitLab Data ConnectorがUsers APIをサポート
- Group概要ページの並べ替え/フィルタリングを改善
- Groups APIを使って、招待されたGroupのリストを取得可能に
さいごに
弊社はGitLabオープンパートナー認定を受けております。 また以下のようにCI/CDの導入を支援するサービスも行っているので、何かご相談したいことがあればお気軽にご連絡ください。