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

完了

この演習では、Azure Pipelines によって提供される分析機能を調べます。

Irwin は Tailspin チームに、より速くリリースする方法を尋ねた。 自動リリース パイプラインの構築は、迅速かつ確実にリリースするための優れたステップです。 リリースの頻度と時間が増えるにつれて、リリースの正常性と履歴を理解することが重要です。 正常性の傾向を定期的に調べることは、潜在的な問題が重大になる前に診断するのに役立ちます。

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

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

次の朝です。 チームミーティングで、Andy と Mara は、セットアップしたビルドとリリースのパイプラインのデモンストレーションを完了しました。

Amita: これは素晴らしいです! ビルド パイプラインは素晴らしいスタートでしたが、テストできるように、ラボにビルド成果物を手動でインストールする必要がありました。 これらのリリースを定期的なスケジュールでテスト環境に移行できる場合は、QA を介して新機能をはるかに高速に移動できます。

マラ: その通り! また、リリース パイプラインをいつでも拡張して、より多くのステージを含めることができます。 目標は、完全なデプロイ ワークフローを作成することです。

ティム: ステージング環境は優れた環境です。 最終的な承認のために新しい機能を管理に提示する前に、より多くのストレス テストを行うことができます。

チームは、新しいパイプラインで何ができるかを確認することに興奮しています。 全員が同時に話し始めます。

アンディ: 私も興奮しています。 しかし、一度に 1 つのステップに焦点を当ててみましょう。 はい、私はこれらの変更のすべてを行うことができると思いますが、これは概念実証にすぎません。 時間の経過に伴う拡張に取り組みます。

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

アンディ: ビルドの正常性を監視するために作成したダッシュボードを覚えていますか? リリースに対して同じ種類のシステムを設定できます。

ティム: Irwin は、それが好きです。

アンディ: 完全なリリース ワークフローが完成するまで、リリース ダッシュボードの構築を保留にしましょう。 ここでは、Azure Pipelines が提供する組み込みの分析をいくつか見てみましょう。

チームはアンディのラップトップの周りに集まります。

パイプライン分析ではどのような情報が提供されますか?

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

レポートには以下のような情報が含まれます。

  • パイプラインの全体的なパス レート。
  • パイプライン内のすべてのテストの合格率。
  • パイプラインの平均実行時間。ビルド タスクを含めます。完了には最も時間がかかります。

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

Azure Pipelines のスクリーンショット。多数のパイプライン実行を対象とするサンプル レポートが示されています。

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

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

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

  2. [分析] タブ 選択します。

    [分析] タブを示す Azure Pipelines のスクリーンショット。

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

    レポートの概要を示す Azure Pipelines のスクリーンショット。

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

    完全なレポートを示す Azure Pipelines のスクリーンショット。

Amita: それは私が望む情報ですが、私はまだ多くのデータを見ていません。

アンディ: そうです。 時間の経過と同時により多くの実行を実行するため、より多くのデータを収集します。 このデータを使用して分析情報を取得し、より効率的にする方法を学習します。

マラ:npm installタスクが完了するまでに最も時間がかかることがわかります。 おそらく、npm パッケージをキャッシュすることで、より高速に実行できます。

アンディ: それは素晴らしいアイデアです! パイプラインが増加した場合、これをさらに調査できます。