🚀

GitHub Actionsのワークフローを可視化・GUIで編集できるツールを作った話

に公開

はじめに

GitHub Actionsは非常に強力なCI/CDツールですが、ワークフローが複雑になるとYAMLファイルが肥大化し、「どのジョブがどのジョブに依存しているのか」を読み解くのが大変になります。

数百行に及ぶYAMLを一行ずつ追いかけるのは、ミスのもとですし時間もかかります。

そこで、GitHub Actionsのワークフローを貼り付けるだけで、即座に図解(依存関係の可視化)し、GUI上で編集もできるツールを作りました。

https://devtoolkits.app/ja/tools/github-actions-visualizer

どんなツール?

「GitHub Actions Visualizer & GUI Builder」は、ブラウザ上で動作する開発者向けツールです。

特徴

  1. ⚡ リアルタイム可視化: YAMLを貼り付けると、Mermaid.jsを使用してジョブ間の依存関係(needs)を即座にグラフ化します。
  2. 🖱️ GUIで編集: グラフ上のノード(ジョブ)を操作したり、フォームからステップを追加・編集したりできます。
  3. 🔄 双方向同期: GUIでの変更はリアルタイムでYAMLコードに反映され、逆にYAMLの編集もグラフに反映されます。
  4. 🔒 ブラウザ完結: すべての処理はブラウザ上で行われるため、秘匿性の高いワークフローをサーバーに送信することなく安全に利用できます。

使い方

  1. GitHub Actions Visualizer にアクセスします。
  2. 左側のエディタに、可視化したいワークフローのYAMLをペーストします。
  3. 中央に依存関係のグラフが表示されます。ジョブ名をクリックすると、そのジョブの詳細設定を右側のパネルで編集できます。
  4. 編集が終わったら、左側のYAMLをコピーしてプロジェクトに戻すだけです。

開発の背景

複雑なパイプラインを構築する際、まず全体像を把握したいというニーズがありました。
また、YAMLの文法ミス(特に行末のコロン忘れやインデントミス)を防ぐために、GUIで構造を制御できるエディタがあれば便利だと考え制作しました。

おわりに

このツールが、複雑なCI/CDパイプラインを構築・メンテナンスする際の一助となれば幸いです。

他にも DevToolkits では、エンジニアの「ちょっとした作業」を楽にするツールを公開しています。ぜひチェックしてみてください。

Discussion