演習 - パイプラインの正常性を監視する

完了

この演習では、Azure Pipelines に用意されている分析機能を確認します。

Irwin は Tailspin チームに、どうすればリリースを迅速化できるか尋ねました。 自動リリース パイプラインを構築することは、迅速で確実なリリースを行うための大きな一歩です。 より頻繁で迅速なリリースを行う場合は、リリースの正常性と履歴を把握しておくことが重要です。 正常性の傾向を定期的に調べることは、重大になる前に潜在的な問題を診断するのに役立ちます。

パイプラインの分析の一部を見ていく前に、Tailspin チームの朝の会議を聞いてみましょう。

パイプラインの正常性を追跡するにはどうすればよいか

翌朝のことです。 チーム ミーティングで、Andy と Mara は、設定したビルドとリリースのパイプラインのデモを終えました。

Amita: すごいですね! ビルド パイプラインはすばらしいスタートになりましたが、ビルド成果物をテストするには、ラボに手動でインストールする必要がまだありました。 これらのリリースを定期的なスケジュールでテスト環境に取り込めれば、新しい機能をはるかに迅速に QA に通すことができます。

Mara: そのとおりです。 また、リリース パイプラインをいつでも拡張してステージを追加することができます。 目標は、完全なデプロイ ワークフローを作成することです。

Tim: ステージング環境もよいと思います。 新しい機能を最終承認のために経営陣に提示する前に、さらにストレス テストを行うことができます。

チームは、この新しいパイプラインで何ができるかに胸を躍らせます。 全員が同時に話し始めます。

Andy: 私もワクワクしています。 しかし、一歩一歩に集中していきましょう。 確かに、これらの変更をすべて行うことはできると思いますが、これは概念実証にすぎません。 その拡張には徐々に取り組みましょう。

Amita: では、リリース パイプラインの正常性を追跡するにはどうすればよいですか?

Andy: ビルドの状態を監視するために作成したダッシュボードを覚えていますか? 同じ種類のシステムを我々のリリース用にセットアップできます。

Tim: Irwin は気に入るでしょう。

Andy: リリース ワークフローが完成するまで、リリース ダッシュボードのビルドは控えておきましょう。 今は、Azure Pipelines に用意されているいくつかの組み込み分析を見てみましょう。

チームは、Andy のラップトップの周りに集まります。

パイプライン分析で提供される情報

すべてのパイプラインでは、メトリック、傾向、および分析情報を含むレポートが提供されます。 これらのレポートは、パイプラインの効率を向上させるのに役立ちます。

レポートには次のものが含まれます。

  • パイプラインの全体的な成功率。
  • パイプラインのテストでの成功率
  • 完了に最も時間がかかる (ビルド タスクを含む) パイプライン実行の平均時間。

パイプライン エラー、テスト エラー、パイプライン期間を示すサンプル レポートを次に示します。

A screenshot of Azure Pipelines, showing a sample report that covers many pipeline runs.

結果をフィルター処理して、特定の期間または GitHub ブランチのアクティビティ全体に焦点を当てることができます。 また、Azure DevOps では、この情報が OData フィードとしても提供されます。 このフィードを使用して、Power BI、Microsoft Teams、Slack などのシステムにレポートや通知を発行できます。 分析フィードの詳細については、このモジュールの最後で説明します。

パイプラインの分析を調べる

  1. Azure DevOps で [パイプライン] を選択し、使用するパイプラインを選択します。

  2. [Analytics] タブを選択します。

    A screenshot of Azure Pipelines, showing the Analytics tab.

  3. パイプラインの実行の成功率と平均時間に確認してください。

    A screenshot of Azure Pipelines, showing the report overview.

  4. [パイプラインの成功率][完全なレポートの表示] を選択して、詳細レポートを表示します。

    A screenshot of Azure Pipelines, showing the full report.

Amita: 必要な情報はこれですが、まだデータが少ないようです。

Andy: そのとおりです。 より多くの実行を重ねるにつれて、さらに多くのデータが収集されます。 このデータを使用して分析情報を取得し、より効率的にする方法を学習します。

Mara:npm install タスクの完了に最も時間がかかることがわかります。 おそらく、npm パッケージをキャッシュすることで、実行速度を向上させることができます。

Andy: それは素晴らしいアイデアです! パイプライン実行が増えるにつれて、これをさらに調査できます。