CI パイプラインとテストの検索と管理

概要

Pipelines ページは、自分のサービスのビルドパイプラインを監視したい開発者にとって有用です。

このページでは、以下の質問に答えます。

  • 特にデフォルトのブランチで、サービスのパイプラインはパフォーマンスと信頼性を確保できているか?
  • そうでない場合、根本的な原因は?

以下などのおおまかな蓄積と傾向にアクセスできます。

  • パイプラインの実行とブランチの集計された統計を含む、ビルドシステム全体の状態の概要。
  • プロダクションパイプラインの破損など、緊急の問題をすばやく見つけて修正するためのウィンドウ。
  • 時間の経過とともに各パイプラインがどのように実行されたか、また、どのような結果と傾向が見られるか。
  • 時間の経過に伴う、各ビルド段階で費やされた時間の内訳。これにより、最大の違いを生む場所に改善努力を集中させることができます。

パイプラインを検索する

パイプラインを確認するには、CI > Pipelines に移動します。

Pipelines ページには、選択した時間枠での各パイプラインのデフォルトブランチの集計統計と、最新のパイプライン実行のステータスが表示されます。このページを使用して、すべてのパイプラインを確認し、その健全性をすばやく確認します。このページには、デフォルトブランチ (通常は mainprod などの名前) に関連付けられた Git 情報を持つパイプラインと、Git 情報を一切持たないパイプラインのみが表示されます。

表示されるメトリクスには、ビルド頻度、失敗率、期間の中央値、期間の中央値の絶対的および相対的な変化が含まれます。この情報により、どのパイプラインが利用率が高く、潜在的にリソース消費が多いのか、または劣化が生じているのかが明らかになります。最後のビルドの結果、期間、および最後の実行時間は、最後のコミットの影響を示します。

パイプライン名でページをフィルタリングして、最も関心のあるパイプラインを確認できます。遅延または障害が発生しているパイプラインをクリックすると、パフォーマンスの低下やビルドエラーを引き起こした可能性のあるコミットが表示されます。Datadog Teams を使用している場合は、チームハンドルと一致するカスタムタグを使用して、自分のチームに関連付けられた特定のパイプラインをフィルタリングすることができます。

パイプラインの詳細と実行

特定のパイプラインをクリックすると、Pipeline Details ページが表示されます。このページでは、指定された時間枠で選択したパイプラインのデータを閲覧できます。

単一パイプラインの Pipeline Details ページ

選択したパイプラインに関する、時間の経過に伴う実行の合計と失敗、ビルド期間のパーセンタイル、エラーレート、およびステージごとの合計時間の内訳などの洞察を得ます。ステージとジョブの要約テーブルもあるため、期間、全体的な実行時間の割合、または失敗率の観点からそれらをすばやく並べ替えることができます。

パイプライン実行リストには、選択したブランチについて、選択した時間枠内にパイプライン (またはそのステージまたはジョブ) が実行されたすべての時間が表示されます。左側のファセットを使用して、表示するパイプライン、ステージ、またはジョブにリストを正確にフィルタリングします。

サービス、リソース、ネットワークイベントへの接続を確認する

実行の 1 つをクリックしてパイプライン実行ビューを開き、パイプラインとそのステージのフレームグラフまたはスパンリストを表示します。左側の Executions (n) リストを使用すると、同じコミットでパイプラインを再試行するたびにデータにすばやくアクセスできます。

CI プロバイダーリンク (次の画像の gitlab-ci gitlab.pipeline > documentation) をクリックして、パイプライン、ステージ、またはジョブの Resource、Service、または Analytics ページを具体的に調べます。また、完全なタグ情報と、ネットワーク監視イベントへのリンクもあります。

トレース情報とフレームグラフ表示によるパイプライン実行ビュー

ログへの接続を確認する

CI プロバイダーでジョブログ収集がサポートされ、有効になっている場合、関連するログイベントはパイプライン実行ビューの Logs タブで確認できます。

ジョブログの収集は、以下のプロバイダーでサポートされています。

AI 生成のログサマリー

この機能は非公開ベター版です。アクセスをリクエストするには、[こちらのフォーム][108]に記入してください。

AI 生成のログサマリーは、 サイトでは使用できません。

Pipeline Visibility は、CI ジョブログに基づいてパイプラインエラーの説明を AI によって生成します。これらの説明は、各パイプラインの実行に対して Failed Jobs タブで確認できます。これらの要約を利用して、CI のエラーが開発者によって書かれたコードに関連しているのか、それとも CI パイプライン自体に関連しているのかを判断し、実行失敗のトラブルシューティングも行うことができます。

Tests ページは、テスト結果を見続けたい開発者にとって便利です。

詳細で即時的な洞察にアクセスできます。

  • 失敗しているテストとその理由を確認します。
  • 最後のコミットのテスト結果を確認します。
  • 機能ブランチでテストの実行時間を表示し、それをデフォルトブランチと比較して、パフォーマンスの低下を引き起こそうとしているかどうかを特定します。
  • コミットによって、以前は不安定ではなかった新しい不安定なテストが導入されているかどうかを確認します。これは、コードの変更が不安定な原因であることを示しています。これにより、CI の不安定なテストの数を増やすのではなく、続行する前に問題を修正する機会が得られます。

また、おおまかな蓄積と傾向にもアクセスできます。

  • コードの変更、テストの追加、複雑さの増加が、時間の経過とともにテストスイートのパフォーマンスに与える影響を確認します。
  • 時間の経過とともにどのテストが遅くなったかを確認し、その回帰を引き起こしたコミットを特定します。
  • 時間の経過とともにどのテストが多かれ少なかれ信頼できなくなっているかを示す、Datadog の自動テストフレークネス検出と追跡を利用します。

テストを検索する

テストを表示するには、CI > Tests に移動し、Branches または Default Branches ビューのどちらかを選択します。

Branches ビュー

Tests ページの Branches ビューには、テスト結果を報告したすべてのテストサービスのすべてのブランチが一覧表示されます。このタブは、個々の開発者がコードブランチで実行されるテストのステータスをすばやく確認し、テストの失敗をトラブルシューティングするのに役立ちます。

このページでは、名前、テストサービス、またはコミット SHA でリストをフィルタリングしたり、My branches トグルを有効にして Git 構成で使用するメールアドレスを追加することで、ブランチ (自分で作成したコミットを少なくとも 1 つ含むブランチ) のみを表示したりできます。

テスト結果

各ブランチについて、テストサービス、失敗したテストの数、パスしたテストの数、スキップしたテストの数、テスト回帰、実行時間、デフォルトブランチと比較した変更の割合、コミットの最終更新日時、そしてコミットの作成者のアバターを見ることができます。

ブランチをクリックすると、テストの詳細ページが表示されます。このページには、そのブランチの最新のコミット、不安定なテスト、テストのパフォーマンス、一般的なエラーの種類、すべてのテストの実行に関する情報が含まれています。

単一ブランチの Test Details ページ

テストスイートのパフォーマンス

また、直近のテストスイート実行時の実行時間やデフォルトブランチの平均実行時間との比較といった情報もあります。ブランチの実行時間とデフォルトブランチの実行時間を比較することで、そのコミットがテストスイートにパフォーマンスの回帰をもたらしているかどうかを判断することができます。

コミット作成者のアバターにカーソルを合わせると、最新のコミットに関する詳細情報が表示されます。

テスト回帰

テスト回帰は、パフォーマンス回帰を特定のコード変更に関連付けるために、コミットごとに評価されます。

詳細な情報を調べる

行をクリックすると、このブランチでの最後のコミットのテスト結果 (ブランチを切り替えることもできます)、失敗したテストと最も一般的なエラー、遅いテスト、不安定なテスト、選択した時間枠のテスト実行の完全なリストなど、テストスイートの実行の詳細が表示されます。このテスト実行のリストをファセットでフィルタリングして、最も見たい情報にアクセスできます。

テスト実行の 1 つをクリックすると、テストトレースがフレームグラフまたはスパンリストとして表示されます。左側の Runs (n) リストを使用すると、同じコミットのテストを再試行するたびにトレースにすばやくアクセスできます。

サービス、リソース、ログ、ネットワークイベントへの接続を確認する

CI プロバイダーのリンクをクリックして、テストのリソース、サービス、または分析ページを調べます。また、完全なタグ情報と、関連するログイベントおよびネットワーク監視イベントへのリンクもあります。

Default Branches ビュー

Tests ページの Default Branches ビューには、各テストサービスの_デフォルト_ブランチの健全性メトリクスが集計されて表示されます。このビューは、チームがサービスの全体的な健全性を経時的に把握するのに便利です。

Default Branches ビューでは、Branches ビューと似たような情報が表示されますが、これはデフォルトブランチに適用されます。これは、現在の実行時間とデフォルトブランチの平均実行時間とを比較し、時間の経過とともにテストスイートのパフォーマンスがどのように推移しているかを示すためのものです。

その他の参考資料