LoginSignup
2
0

More than 3 years have passed since last update.

Drone.ioのstepを可視化して理解しやすくするツールを作った

Last updated at Posted at 2021-02-09

なぜ作ったか

私事ですが、この1月から新しいチームに配属され、様々なキャッチアップをしていく中で、Droneのstepを読み解くためにYAMLファイルと睨めっこするのが辛かったので、図示してみたところ思った以上にいい感じになったので、ツール化することにしました。

できたもの

こちらです↓
https://inajob.github.io/drone-steps-visualizer/

利用できそうな技術

昔作ったPod Manifest Visualizerを少し改造すればすぐに作れそう? と思い思いっきり流用しています。

原理

.drone.ymlを読み込んで、stepsの子要素を調べnamedepends_onを収集し、mermaid.js記法を生成し、レンダリングしています。

whenの条件をシリアライズしてsubgraphのタイトルにすることで、同じ条件で起動するstepをわかりやすくしています。

制限

  • pipeline間のdepends_onを図示できていません。(mermaid.jsはsubgraphに矢印をつけることができないため)

スクリーンショット

ブラウザで動作します。JavaScriptのみで動作しているので、サーバ側のロジックは不要です。

image.png

試しに図示してみる

世の中でDroneを使った有名なプロダクトが何か知らないので、適当に検索して探します。

oliver006/redis_exporter

わかりやすくなりました。

image.png

go-gitea/gitea

わかりやすくなりました。

image.png

grafana/grafana

限界もあります・・

image.png

まとめ

以前のKubernetesのPodの可視化でも感じましたが、mermaid.jsによるブラウザでの可視化ツール作成は、コスパの良い手法のように思います。

身近なグラフ構造のデータを突っ込んで色々と可視化してみると面白いと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0