正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。
ドキュメントに関する現在のご利用体験についてお聞かせください。アンケートにご協力ください。

GitLab 16.9リリースノート

2024年2月15日に、GitLab 16.9が以下の機能とともにリリースされました。

さらに、今月の注目すべきコントリビューターを含む、すべてのコントリビューターに感謝します。

今月の注目すべきコントリビューター

RaviはGitLabの脆弱性研究グループと積極的に協力し、GitLab SASTにおける高い誤検出結果に対処しています。

Raviは、GitLabのカスタマーサクセスマネージャーであるRohan Shah氏によって推薦されました。Rohan氏は、GitLab SASTで使用されている検出ルールに対するRaviの著しい改善を評価しました。Dinesh Bolkensteyn(GitLabのシニア脆弱性研究者)は、「Raviのフィードバックは的を射ており、直接行動に移せるもので、多くのSASTルールを改善することができました」と付け加えました。

Ravi Dharmawan(通称ravidhr)は、GoTo Groupで情報セキュリティアーキテクトとして働いています。彼は主に、セキュア設計レビュー、ソースコードレビュー、およびペネトレーションテストを担当しています。RaviはOSCP + eWPTXv2の認定を受けています。

Ianは、GitLabフォーラムでユーザーをサポートする活動で表彰された最初のGitLab MVPです。Michael Friedrich氏(GitLabのシニアデベロッパーアドボケート)と、Fatima Sarah Khalid氏(GitLabのデベロッパーアドボケート)の両名が、GitLabのセットアップや利用に関するユーザーからの質問に答えることで、コミュニティにとってより良いフォーラムを構築するための継続的な努力に対してIanを推薦しました。

IanはUpWare Sp. z o.o.でシステムおよびセキュリティコンサルタントとして働いており、主にRed Hat OpenShiftおよびLinux関連のあらゆる作業を行っています。彼はRed Hat認定RHCSA + RHCEであり、2017年以来、自身のセルフホスト型GitLabインスタレーションを管理、保守、サポートしています。Ianは3年以上にわたりGitLabのフォーラムで定期的に活動しており、2,600件以上の役立つ回答、480件の役立つコミュニティモデレーションフラグ、240件のソリューションを提供しています。

RaviとIan、ありがとうございます!🙌

主要な機能

GitLab Duo Chatベータ版がPremiumで利用可能に

16.8で、GitLab Duo ChatはSelf-Managedインスタンスで利用可能になりました。16.9では、チャットはまだベータ版ですが、Premiumのお客様にご利用いただけるようになります。

GitLab Duo Chatは次のことが可能です:

  • イシュー、エピック、コードを説明または要約します。
  • これらのアーティファクトについて具体的な質問に答えます。例えば、「このイシューで提案されている解決策に関するコメントで提起されたすべての引数を収集してください」といった質問です。
  • これらのアーティファクトの情報に基づいて、コードまたはコンテンツを生成します。例えば、「このコードのドキュメントを作成できますか?」
  • プロセスを開始するのに役立ちます。例えば、「GitLab CI/CDパイプラインでRuby on Railsアプリケーションをテストおよびビルドするための.GitLab-ci.yml設定ファイルを作成してください」といったものです。
  • 初心者であろうとエキスパートであろうと、すべてのDevSecOps関連の質問に回答します。例えば、「動的アプリケーションセキュリティテストをREST APIに設定するにはどうすればよいですか?」
  • 以前のすべてのシナリオを通して繰り返し作業できるよう、追加の質問に回答します。

GitLab Duo Chatはベータ機能として利用可能です。また、弊社のWeb IDEおよびVS Code用GitLab Workflow拡張機能にも、実験的機能として統合されています。これらのIDEでは、テストの作成など、標準的なチャットコマンドを使用してタスクをより迅速に実行できます。

製品内またはフィードバックイシューを通じて、GitLab Duo Chatのご経験に関するフィードバックを提供することで、これらの機能の成熟にご協力いただけます。

マージリクエストで変更を要求する

マージリクエストのレビューの最後の部分は、結果を伝えることです。承認は明確でしたが、コメントを残すことはそうではありませんでした。それらは、作成者があなたのコメントを読み、そのコメントが純粋に情報提供のみなのか、あるいは必要な変更を説明しているのかを判断することを要求しました。これで、レビューを完了するときに、3つのオプションから選択できます:

  • コメント: 明示的に承認することなく、一般的なフィードバックを送信します。
  • 承認: フィードバックを送信し、変更を承認します。
  • 変更をリクエスト: マージする前に対応すべきフィードバックを送信します。

サイドバーに、あなたの名前の横にレビューの結果が表示されるようになりました。現在、変更の要求でレビューを終了しても、マージリクエストがマージされるのをブロックすることはありませんが、マージリクエストの他の参加者に追加のコンテキストを提供します。

変更の要求機能に関するフィードバックは、フィードバックイシューでお寄せいただけます。

CI/CD変数のユーザーインターフェースの改善

GitLab 16.9では、CI/CD変数のユーザーエクスペリエンスに関する一連の改善をリリースしました。変数作成フローを、以下の変更によって改善しました:

その他の改善点として、変数の管理を支援するための新しいグループおよびプロジェクト変数用のオプションの説明フィールドがあります。また、複数の変数を追加または編集することを容易にし、ソフトウェア開発ワークフローにおける摩擦を減らし、デベロッパーがより効率的に作業できるようにしました。

これらの変更に対する皆様のフィードバックは常に高く評価され、感謝されています。

パイプラインの自動キャンセルに関するオプションの拡張

現在、冗長なパイプラインを自動キャンセルする機能を使用するには、パイプラインをキャンセルできるかどうかを判断するために、キャンセル可能なジョブをinterruptible: trueとして設定する必要があります。しかし、これはGitLabがパイプラインをキャンセルしようとするときに、アクティブに実行されているジョブにのみ適用されます。まだ開始されていない(「保留中」の状態にある)ジョブも、interruptible設定に関係なく、キャンセルしても安全であると見なされます。

この柔軟性の欠如は、自動キャンセルパイプライン機能によってどのジョブを正確にキャンセルできるかについて、より詳細な制御を望むユーザーを妨げます。この制限に対処するため、ジョブキャンセルをより細かく制御できるauto_cancel:on_new_commitキーワードの導入を発表できることを嬉しく思います。以前の動作が機能しなかった場合は、まだ開始されていないジョブであっても、interruptible: trueで明示的に設定されているジョブのみをキャンセルするようにパイプラインを設定するオプションが提供されます。ジョブが自動的にキャンセルされないように設定することもできます。

規模とデプロイ

GitLab管理者は、同時に実行できるElasticsearchコードインデックス作成バックグラウンドジョブの最大数を設定できるようになりました。以前は、専用のSidekiqプロセスを作成することによってのみ、同時実行ジョブの数を制限できました。

グループおよびプロジェクトメンバー管理のためのカスタムガイドライン

管理者は、グループまたはプロジェクトのメンバーページで、メンバーを管理する権限を持つユーザーに表示されるテキストガイドラインを追加できるようになりました。管理者は、Admin Areaの設定の外観セクションで、これらのガイドラインにアクセスできます。

ガイドラインは、外部ツールを使用してグループやプロジェクトのメンバーを管理するチームにとって役立ちます。例えば、ガイドラインは、個々のメンバーのメンバーシップを管理する代わりに、ユーザーが使用すべき事前定義されたグループにリンクできます。

@bufferoverflow様、このコミュニティコントリビュートに感謝いたします!

直接転送のインポート統計を表示

直接転送によるGitLabグループおよびプロジェクトの完了した移行では、移行の全体的な最終結果をユーザーに知らせるために、バッジ(完了、一部のみが完了、および失敗)が表示されていました。ユーザーはまた、See failuresリンクをクリックすることで、インポートされなかったアイテムのリストにアクセスできました。

しかし、部分的にインポートされたプロジェクトの場合、各タイプのアイテムがいくつ成功的にインポートされ、いくつインポートされなかったかを迅速に理解する方法はありませんでした。

このリリースでは、グループとプロジェクトのインポート結果統計を追加しました。統計にアクセスするには、直接転送履歴ページの詳細リンクを選択します。

グループレベルでJiraイシューを有効にする

このリリースにより、GitLabグループ内のすべてのプロジェクトでJiraイシューを有効にできるようになりました。以前は、個々のGitLabプロジェクトごとにしかJiraイシューを有効にできませんでした。

Slackアプリ向けGitLabのREST APIサポート

このリリースにより、Slackアプリ向けGitLabのREST APIサポートが追加されました。

APIからSlack向けGitLabアプリを作成することはできません。代わりに、GitLabUIからアプリをインストールする必要があります。その後、インテグレーション設定を取得し、プロジェクトのアプリを更新または無効にすることができます。

REST APIを通じてGitLab使用状況データにアクセス

セルフマネージドのユーザーは、REST API接続を通じてService Pingデータにシームレスにアクセスできるようになり、ダウンストリームシステムとの直接的なインテグレーションが容易になりました。これは、以前のファイルダウンロード方法と比較して大幅な改善です。この新しいアプローチは、セルフマネージドのユーザーに対し、GitLab使用状況データからカスタマイズされた分析を実施し、特定のインサイトを導き出すための、より効率的でリアルタイムな手段を提供します。

統合されたDevOpsとセキュリティ

SSH証明書によるコミットの認証と署名

以前は、GitLab.comでのGitアクセス制御オプションは、ユーザーアカウントに設定された認証情報に依存していました。これで、SSH証明書のみを使用してGitアクセスを可能にするプロセスを設定できます。これらの証明書を使用してコミットに署名することもできます。

GitLabエージェント上のユーザーごとのワークスペースを制限する

GitLab 16.8では、Kubernetes向けGitLabエージェントの設定を導入し、ワークスペースあたりのCPUおよびメモリ使用量を制限できるようにしました。

16.9では、ユーザーあたりのワークスペース数を制限することもできます。この新しい設定により、クラウド資源をさらに制御し、個々のデベロッパーがクラウド費用を膨らませることを防ぐことができます。

失敗したデプロイからの部分的なリソースのクリーンアップをユーザーに許可する

環境のauto_stop_in機能は、最後に成功したパイプラインではなく、最後に終了したパイプラインからジョブを実行するように更新されました。これにより、成功したパイプラインがないために自動停止ジョブが実行できないエッジケースを回避できます。

この動作は、一部の状況では破壊的変更と見なされる可能性があります。新しい動作は現在、機能フラグの背後にあり、17.0でデフォルトになり、同時に、古い動作は非推奨となり、18.0でGitLabから削除される予定です。17.xへの最初のアップグレードでの破壊的変更のリスクを最小限に抑えるために、皆様にはすぐに移行を開始するか、機能フラグを設定することをお勧めします。

Kubernetes 1.29サポート

このリリースでは、2023年12月にリリースされたKubernetesバージョン1.29の完全なサポートが追加されました。アプリをKubernetesにデプロイする場合、接続されているクラスターを最新のバージョンにアップグレードし、すべての機能を活用できるようになりました。

当社のKubernetesサポートポリシーおよびその他のサポートされているKubernetesバージョンについては、こちらをご覧ください。

UIおよびAPIを通じてアクセス可能なエンタープライズユーザーメールアドレス

エンタープライズユーザーを持つグループオーナーは、ユーザー管理UIとグループおよびプロジェクトメンバーAPIの両方を使用して、それらのユーザーのメールアドレスを確認できるようになりました。以前は、プロビジョニングされたユーザーのメールアドレスのみが返されていました。

LDAPグループ同期のあるグループからのサービスアカウントの追加または削除

以前は、グループでLDAP同期が有効になっている場合、管理者はそのグループにユーザーを招待したり削除したりすることはできませんでした。現在、管理者は、グループおよびプロジェクトメンバーAPIを使用して、LDAP同期のあるグループにサービスアカウントユーザーを招待したり、それらのユーザーを削除したりできます。管理者は、引き続き人間のユーザーをLDAP同期のあるグループに招待したり、それらのユーザーを削除したりすることはできません。これにより、LDAPグループ同期が人間のユーザーアカウントメンバーシップにとって信頼できる唯一の情報源であることが保証されつつ、サービスアカウントを使用してLDAPで同期されたグループに自動化を追加する柔軟性が可能になります。

カスタムロールの更新または削除の監査イベント

GitLabは、カスタムロールが更新または削除されたときに、監査イベントを記録するようになりました。このイベントは、特権昇格の場合に権限が追加または変更されたかどうかを特定するために重要です。

期限切れSAML SSOセッションのUXを改善

SAML SSO認証を必要とするグループに属しているが、そのグループの有効なセッションを持っていない場合、セッションを更新するように促すバナーが表示されます。以前は、セッションの期限が切れている場合、イシューとマージリクエストが表示されませんでしたが、これはユーザーにとって明確ではありませんでした。これで、すべての作業アイテムを表示するためにいつ再認証する必要があるかがユーザーに明確になりました。

標準準拠レポートの改善

標準準拠レポート (コンプライアンスセンター内)は、コンプライアンスチームがコンプライアンスの状態を監視するための場所です。

GitLab 16.5では、すべてのコンプライアンスチームが監視すべき共通のコンプライアンス要件のセットであるGitLab標準とともにレポートを導入しました。この標準は、どのプロジェクトがこれらの要件を満たしているか、どのプロジェクトが不足しているか、そしてそれらをどのようにコンプライアンスに準拠させるかを理解するのに役立ちます。今後、レポートにより多くの標準を導入していく予定です。

このマイルストーンでは、レポートをより堅牢で実用的なものにするための改善を行いました。たとえば、次の機能があります。

  • チェックによる結果のグループ化
  • プロジェクト、チェック、標準によるフィルタリング
  • CSVにエクスポート(メールで配信)
  • 改善されたページネーション

リッチテキストエディタのより広範な利用可能性

GitLab 16.2で、プレーンテキストエディタの代替としてリッチテキストエディタをリリースしました。リッチテキストエディタは、「WYSIWYG(見たままを編集)」編集インターフェースと、追加の開発のための拡張可能な基盤を提供します。しかし、このリリースまで、リッチテキストエディタはイシュー、エピック、マージリクエストでのみ利用可能でした。

GitLab 16.9では、リッチテキストエディタが以下で利用可能になりました:

リッチテキストエディタへのアクセスが改善されたことで、以前のMarkdown経験がなくても、より効率的に共同作業を行うことができます。

Terraformモジュールの重複を許可する

GitLabパッケージレジストリを使用して、Terraformモジュールを公開およびダウンロードできます。デフォルトでは、同じモジュール名とバージョンをプロジェクトごとに複数回公開することはできません。

ただし、特にリリースの場合には、重複したアップロードを許可したい場合があります。このリリースでは、GitLabはパッケージレジストリのグループ設定を拡張し、重複したモジュールを許可または拒否できるようにしました。

グループまたはサブグループからのTerraformモジュールを検証する

GitLab Terraformレジストリを使用する際、すべてのモジュールのクロスプロジェクトビューを持つことが重要です。最近まで、ユーザーインターフェースはプロジェクトレベルでのみ利用可能でした。グループの構造が複雑な場合、モジュールを見つけて検証するのに苦労したかもしれません。

GitLab 16.9以降、GitLabでグループおよびサブグループのすべてのモジュールを表示できます。可視性の向上により、レジストリの理解が深まり、名前の衝突の可能性が減少します。

ボードの進行中ライン

ボードリストで進行中の作業制限を視覚化できるようになりました。制限を超過すると、リストにインジケーターラインが表示され、どのアイテムが制限を超えているかを把握し、それに応じてリストを管理するのに役立ちます。

カスタムバリューストリーム分析の新しいパイプラインステージイベント

GitLabにおける開発ワークフローの追跡を改善するために、バリューストリーム分析が新しいステージイベントであるIssue first added to iterationで拡張されました。このイベントを使用すると、チームが計画を立てすぎることによる機敏性の欠如や、イシューがイテレーションからイテレーションへとロールオーバーするチームでの実行上の課題によって引き起こされる問題を検出できます。例えば、Issue first added to iterationに開始し、Issue first assignedに終了する「計画済み」ステージを追加できるようになりました。

運用コンテナスキャンの改善

運用コンテナスキャン(OCS)のレポートおよび安定性の改善を行いました。特に、Trivyのレポートサイズ制限が増加され、より安定したユーザーエクスペリエンスが提供されます。Trivyのレポートサイズを10MBから100MBに拡張することで、レポートサイズ制限によって制約を受けていたお客様が、クラスター内のコンテナイメージのセキュリティ確保にOCSを活用できるようになります。

OCSへのこの変更により、gitlab-agentをFIPSモードで実行しているユーザーは、運用コンテナスキャンを実行できません。詳細については、当社のドキュメントを参照し、イシュー #440849でフィードバックをお寄せください。

DASTアナライザーの更新

16.9リリースマイルストーン中に、以下のバグを解決しました:

  • ブラウザが新しいページに移行したときに、キャッシュされたリソースの応答ボディを取得しようとするときのブラウザベースのDASTエラー。詳細については、イシューを参照してください。
  • ブラウザベースのDASTクロールタスクが並行して実行されず、パフォーマンスの低下を引き起こしています。詳細については、イシューを参照してください。

より高品質な結果のための更新されたSASTルール

40以上のデフォルトのGitLab SASTルールを以下のように更新しました:

  • C#、Go、Java、JavaScript、Pythonの検出ロジックルールを更新することで、真陽性結果(正しく特定された脆弱性)を増加させ、偽陰性結果(誤って特定された脆弱性)を減少させます。
  • C#、Go、Java、およびPythonルールにOWASPマッピングを追加します。

ルール変更は、SemgrepベースのGitLab SAST アナライザーの更新されたバージョンに含まれています。この更新は、SASTアナライザーを特定のバージョンに固定していない限り、GitLab 16.0以降で自動的に適用されます。さらに多くのSASTルールの改善にエピック10907で取り組んでいます。

VS Codeでより詳細なセキュリティ検出結果

Visual Studio Code(VS Code)用のGitLab Workflow拡張機能でのセキュリティ検出結果の表示方法を改善しました。以前は表示されていなかったセキュリティ検出結果の詳細を、以下を含めて確認できるようになりました:

  • リッチテキスト形式の完全な説明。
  • 利用可能な場合は、脆弱性に対するソリューション。
  • あなたのコードベースで問題が発生している場所へのリンク。
  • 検出された脆弱性のタイプに関する詳細情報へのリンク。

また、次のことも行いました:

  • 結果が準備される前のセキュリティスキャンのステータスの表示方法を改善しました。
  • その他のユーザービリティ改善を行いました。

パイプラインまたはジョブをキャンセルできるロールを制御する

組織は、どのユーザーロールがパイプラインをキャンセルできるかを制御したいと考えるかもしれません。以前は、パイプラインを実行できる人なら誰でもパイプラインをキャンセルできました。これで、プロジェクトのメンテナーが設定を更新し、パイプラインおよびジョブのキャンセルを特定のロールに制限したり、完全にキャンセルを防止したりできるようになりました!

フリートダッシュボード: プロジェクトごとのインスタンスRunnerで使用されたコンピューティング時間のメトリクスカード

GitLab Runnerフリートを大規模に管理する場合、どのプロジェクトがRunnerで最も多くのコンピューティング時間を使用しているかを知ることが重要であると伺っています。この情報は、チームがCI/CDパイプラインを最適化し、フリートコスト最適化について適切な決定を下すために不可欠です。

プロジェクトごとのRunnerのコンピューティング使用量メトリクスカードは、以前にリリースされたCI/CDコンピューティング時間のCSVによるエクスポート機能の補完として、Runnerフリートダッシュボードで利用可能になりました。インスタンスRunnerのコンピューティング時間を消費する上位プロジェクトと、GitLab環境で最も使用されているインスタンスRunnerを確認できます。

GitLab Runner 16.9

本日、GitLab Runner 16.9もリリースします!GitLab Runnerは、CI/CDジョブを実行し、結果をGitLabインスタンスに送信する、軽量で拡張性の高いエージェントです。GitLab Runnerは、GitLabに含まれるオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと連携して動作します。

新機能

バグ修正

GitLab Runnerのすべての変更リストは変更履歴にあります。

ブランチパイプラインを使用している場合、パイプライン詳細ページから関連するマージリクエストを素早く表示およびアクセスできるようになりました。