Quality Gates

プレビューに参加してください!

Quality Gates はプレビュー版です。

選択したサイト () では、現時点で Quality Gates は利用できません。

概要

Quality Gates を使用すると、不適切なコードがデプロイされるのを防ぐためのルールを構成することで、ソフトウェアの品質を管理できます。これにより、デフォルトブランチにマージされ、本番環境にデプロイされるコードをコントロールし、高品質な基準を満たすコードが稼働することを確保します。結果として、インシデントの発生を減らし、望ましくない動作を最小限に抑えることができます。

リポジトリ内にクリティカルまたは高重大度のライブラリ脆弱性が検出された場合に失敗をトリガーする SCA ルール

Quality Gates を使用して、

  • Datadog のデータを用いてワークフローをブロックするルールを作成し、基準を満たすコードのみが本番環境にデプロイされるようにします。
  • 組織内で本番環境にデプロイするコードを決定できる能力を持たせ、デプロイの規律を強化し、本番環境での潜在的な問題を軽減します。
  • 正確な適用とカスタマイズ可能なルールによって、コード品質とシステムパフォーマンスを継続的に改善します。

Quality Gates のルールは、以下のカテゴリーで構成できます。

Test Optimization


- 新しい不安定テスト
- コードカバレッジ

Static Analysis


- コード脆弱性違反
- コード品質違反

Software Composition Analysis


- 脆弱性
- 検出されたライセンス

Quality Gates を CI/CD パイプラインに統合するか、Datadog GitHub インテグレーション により Pull Request 上で自動的にステータスチェックを作成できるようにすることで (現在は SCA ルールにのみ対応)、組織の運用目標やビジネス上の目的に合致したソフトウェア品質を維持・向上させるための強固なフレームワークを構築できます。

セットアップ

Quality Gates は以下のルールタイプを提供しています。

新しい不安定なテストがもたらされる、またはコードカバレッジが低下するコードのマージをブロックするためのルールを作成できます。

不安定なテストが 1 つ以上発生した場合にブロックされる Quality Gate ルール

リポジトリに一定数のコード品質やコード脆弱性違反がある場合に、コードのマージをブロックするためのルールを作成できます。

リポジトリ内にエラーレベルの重大度を持つ新しいコード品質違反が 1 つ以上含まれている場合に失敗する Quality Gate ルール

リポジトリに一定数のライブラリ脆弱性や禁止ライセンスが含まれている場合に、コードのマージをブロックするためのルールを作成できます。

リポジトリ内にクリティカルまたは高重大度のライブラリ脆弱性が 1 つ以上含まれている場合に失敗する Quality Gate ルール

Quality Gate ルールを作成するには、セットアップドキュメントを参照してください。

検索ルール

Quality Gates Rules ページの Quality Gates ルールにアクセスすることで、品質管理プロセスを評価および更新できます。プロジェクトの要件と期待されるパフォーマンスに基づいて、デプロイの方法を改善します。

Datadog の Quality Gate ルール一覧

Quality Gate ルールを検索するには、検索と管理のドキュメントを参照してください。

Quality Gates Explorer で実行を分析する

Quality Gates Executions ページで、Quality Gates またはルールの実行を検索・フィルタリングし、視覚化を作成し、検索クエリの保存ビューをエクスポートすることができます。

Quality Gates Explorer での Quality Gate 結果
Quality Gates Explorer での Quality Gate ルール実行結果

詳細は、Quality Gates Explorer のドキュメントを参照してください。

ルール変更の追跡

監査証跡では、Quality Gates ルールを作成した人、変更した人、削除した人の情報を確認できます。

Datadog Audit Trail の Quality Gates イベント

詳細は、Audit Trail のドキュメントを参照してください。

その他の参考資料

PREVIEWING: drodriguezhdez/add_public_docs_log_summarization