個々のビルドレポートを自動的にマージする - AWS CodeBuild

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

個々のビルドレポートを自動的にマージする

ファンアウトバッチビルドでは、 は個々のビルドレポートの一括バッチレベルレポートへの自動マージ AWS CodeBuild をサポートします。この機能では、バッチ内のすべてのビルドのテスト結果とコードカバレッジが包括的に示されます。

仕組み

fanout バッチビルドを実行すると、個々のビルドごとにテストレポートが生成されます。その後 CodeBuild が、異なるビルドの同じレポートを、バッチビルドにアタッチされた統合レポートに自動的に統合します。これらの統合レポートは、BatchGetBuildBatches API の reportArns フィールドから簡単にアクセスでき、コンソールの [レポート] タブでも表示できます。このマージ機能は、自動検出されたレポートにも拡張されます。

統合レポートは、buildspec で指定されているか CodeBuild によって自動検出されたレポートグループの下に作成されます。これらのレポートグループの直下でマージされたレポートの傾向を分析し、同じビルドバッチプロジェクトの過去のビルド全体のビルドパフォーマンスと品質メトリクスに関する貴重なインサイトを引き出すことができます。

バッチ内の個々のビルドごとに、CodeBuild により個別のレポートグループが自動的に作成されます。これらは、バッチビルドレポートグループ名とサフィックス BuildFanoutShard<shard_number> を組み合わせた特定の命名規則に従います。ここで、shard_number は、レポートグループが作成されるシャードの数を表します。この構造では、統合ビルドレベルと個々のビルドレベルの両方で傾向を追跡および分析できるため、ビルドプロセスを柔軟にモニタリングおよび評価できます。

バッチビルドレポートは、個々のビルドレポートと同じ構造に従います。[レポート] タブの次のキーフィールドは、バッチビルドレポートに固有です。

バッチビルドレポートのステータス

バッチビルドレポートのステータスは、レポートタイプに応じて特定のルールに従います。

  • テストレポート:

    • 成功: 個々のビルドレポートがすべて成功すると、ステータスは「成功」に設定されます。

    • 失敗: 個々のビルドレポートのうち、失敗したレポートがある場合、ステータスは「失敗」に設定されます。

    • 未完了: 個々のビルドレポートのうち、欠落しているかステータスが「未完了」になっているレポートがある場合、ステータスは「未完了」とマークされます。

  • コードカバレッジレポート:

    • 完了: 個々のビルドレポートがすべて完了すると、ステータスは「完了」に設定されます。

    • 失敗: 個々のビルドレポートのうち、失敗したレポートがある場合、ステータスは「失敗」に設定されます。

    • 未完了: 個々のビルドレポートのうち、欠落しているかステータスが「未完了」になっているレポートがある場合、ステータスは「未完了」とマークされます。

テストの要約

マージされたテストレポートでは、すべての個々のビルドレポートに含まれる次のフィールドが統合されます。

  • duration-in-nano-seconds: すべての個々のビルドレポートにおけるナノ秒単位の最大テスト期間。

  • total: すべてのテストケースの合計数。各ビルドのテスト合計数が合計されます。

  • status-counts: テストステータス (合格、不合格、スキップなど) の統合ビューが提供され、すべての個々のビルドにおける各ステータスタイプのカウントを集計して計算されます。

コードカバレッジの要約

マージされたコードカバレッジレポートでは、次の計算を使用して、すべての個々のビルドのフィールドが組み合わされます。

  • branches-covered: 個々のレポートのすべての対象ブランチの合計。

  • branches-missed: 個々のレポートの欠落しているすべてのブランチの合計。

  • branch-coverage-percentage: (Total covered branches / Total branches) * 100

  • lines-covered: 個々のレポートのすべての対象ラインの合計。

  • lines-missed: 個々のレポートの欠落しているすべてのラインの合計。

  • lines-coverage-percentage: (Total covered lines / Total lines) * 100

実行 ID

バッチビルド ARN。

テストケース

マージされたレポートには、個々のビルドのすべてのテストケースの統合リストが含まれており、DescribeTestCases API とコンソールのバッチビルドレポートのどちらからでもアクセスできます。

コードカバレッジ

マージされたコードカバレッジレポートでは、個々のビルドすべてにおいて各ファイルの統合されたラインとブランチカバレッジの情報が提供され、DescribeCodeCoverages API とコンソールのバッチビルドレポートのどちらからでもアクセスできます。注: 異なるシャードに分散された複数のテストファイルの対象となるファイルの場合、マージされたレポートでは次の選択基準が使用されます。

  1. プライマリ選択は、シャード間の最大のラインカバレッジに基づきます。

  2. 複数のシャード間でラインカバレッジが等しい場合、ブランチカバレッジが最も高いシャードが選択されます。