はじめに
これはVisual Studio Team Servicesアドベントカレンダー21日目の記事です。
今回はちょっと趣向を変えて、CI/CDの状態を見る方法について紹介します。個別の実行結果はSlackやTeamsに投稿すればいいのですが、全体の履歴としてみたい場合、ダッシュボードでぱっと見えると便利です。
VSTSのダッシュボードにはビルドやリリースの履歴、今何がどこに展開されているのかぱっとわかるウィジェットの貼り付けができます。全体表示させても便利です。
ダッシュボードの追加
Dashboardsの右端にある+をクリックすると、ダッシュボードの追加ができます。ダッシュボードの名前はわかりやすいものを付けてください。
ウィジェット追加
ダッシュボードを作成してから、ウィジェットを追加します。拡張機能で追加するものを含めて、多くのウィジェットがありますが、CI/CDで関係あるもののみ紹介します。
marketplaceでウィジェットを探すとこれくらいあります。
Chart for Build History
指定したビルド定義の所要時間、成功/失敗をチャートで表示するウィジェットです。重要なビルド定義を指定すればいいでしょう。
チームプロジェクト内のビルド定義から履歴を表示したいビルド定義を選択します。一つのウィジェットに一つのビルド定義のみ設定できます。複数表示したい場合、ウィジェットを必要な数だけ登録してください。
ビルド履歴はこんな感じで表示されます。バーが長いほどビルド時間がかかっています。途中伸びている項目がありますが、この時はなぜかHosted agentがものすごく遅かったためです。
Deployment status
ビルド定義毎のビルド成果物がどの環境にリリースされているかという状況をクロス定義で見るためのウィジェットです。頻繁にデプロイするビルド定義が多いような環境では有用なウィジェットです。
ビルド定義とViewを選択します。ViewはDeployment StatusとTest Pass rateがあるので、お好みで。
ビルド定義と、ビルド定義の成果物が関連付けられているリリース定義を選択します。
こんな感じで表示されます。何もやってないので、寂しいですが。
Release Definition Overview
指定したリリース定義において、どのリリースがどの環境にデプロイされているか確認するためのウィジェットです。Chart of build historyのリリース版ですね。
リリース定義を指定すると、現在の状況が表示されるので、問題なければこのままOKを押してください。
Test Results Trend
ビルド定義、もしくはリリース定義で実行するテスト結果状況を表示するチャートです。テスト実行結果(成功/失敗)および、テスト実行時間もしくはその両方を合わせてチャートに表示できます。
とりあえず簡単にテスト数を折れ線グラフにしてみました。全部成功(といっても2件ですが)しているので、100%のままです。
完成
こうやってビルド、リリース関係のウィジェットを貼ったダッシュボードはこのようになります。ビルド関係が一目でわかるのでいいですね。
もちろん、ビルド定義やリリース定義のカットでダッシュボードを作るとかでもいいでしょう。
ここでは紹介していませんが、Application Insightsを使っているのであればApplication Insightsのウィジェットを貼っておいて、常時モニターに表示しておくのもいいと思います。
残念ながらPower BIのVSTSコンテンツパックの提供が終わってしまいましたが、新しくODataでとってこれるようになったので、ODataを使って独自のチャートを作るのもいいかもしれません。
VSTS Analytics OData now publicly available – Microsoft DevOps Blog