Kontroler: セルフテスト ワークフロー オーケストレーション ツール
私の最新プロジェクト Kontroler は、セルフテストというユニークな工夫を施したワークフロー オーケストレーション ツールです。 ワークフローを調整するだけでなく、独自の機能を使用してその機能をテストすることもできます。これは「ドッグフーディング」として知られるプロセスです。この継続的な自己テストにより、ツールが確実に動作すると同時にツール自体が改善されることが保証されます。
セルフテストを行う理由
自動化に対する私の情熱が、効率的で信頼性の高いツールを作成したいという私の願望を駆り立てています。 Kontroler は単なるワークフロー ランナーではありません。外部テストツールを使用せずに独自の機能を証明するように設計されています。 この組み込みのストレス テストは強力な基盤を提供し、その自主的な品質管理を観察することは実用的であり、やりがいがあります。
Kontroler が自身をテストする方法
自己テストを実行するには、追加のコンポーネントを作成する必要がありました:
新しい .kontrolerci
ディレクトリがリポジトリに追加されました。このディレクトリには、DAG/CI パイプラインを定義する YAML ファイルが格納されます。 簡単な Go ビルダーの例:
<code>build-server: image: golang:1.23.5-bullseye script: | echo "Navigating to server directory" cd server go mod tidy echo "Building server application" go build -o main cmd/main.go</code>
完全なディレクトリ構造は GitHub で入手できます: https://www.php.cn/link/6968240043185f65f22097299b865f6b
何をテストしますか?
現在のパイプラインテスト:
これらのテストによりシステムの信頼性が高まり、CI パイプラインの実行が成功すると、Kontroler のタスク割り当てと Webhook 生成がエンドツーエンドで検証されます。
GitHub の UI に結果が表示されます:
ドッグフーディングの報酬 (と課題)
最初に成功したパイプラインの実行は信じられないほど満足でした。緑色のチェックマークが私の期待を上回っていたのです。 たとえ私だけであっても、Kontroler は実際に使用されていました。
しかし、セルフテストには課題がなかったわけではありません。 クライアント認証の失敗や一時ファイルに関連するエラーなどの問題のデバッグには時間がかかることが判明しました。 しかし、このドッグフーディングのプロセスにより、重大な欠陥が明らかになり、対処できるようになりました。
Kontroler の将来の計画
ドッグフーディングにより、改善の余地があるいくつかの領域が特定されました。
私たちは、Kontroler のドッグフードを継続して、ツールをさらに改良し、製品化していきます。
以上がチェック: 「ドッグフード」テストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。