Kontroler:自我測驗工作流程編排工具
我的最新專案 Kontroler 是一個工作流程編排工具,具有獨特的特點:自我測試。 它不僅編排工作流程,還使用自己的功能來測試其功能,這個過程稱為「dogfooding」。這種持續的自我測試確保了該工具可靠地工作,同時自我改進。
為什麼要進行自我測試?
我對自動化的熱情促使我渴望創造高效可靠的工具。 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 顯示結果:
Dogfooding 的回報(與挑戰)
第一次成功的管道運行令人難以置信地令人滿意——看到那些綠色的複選標記超出了我的預期。 Kontroler 確實被使用過,即使只有我一個人。
然而,自我測驗也並非沒有挑戰。 事實證明,調試客戶端身份驗證失敗和與臨時文件相關的錯誤等問題非常耗時。 但是,這個測試過程暴露了並讓我解決了關鍵的缺陷。
Kontroler 的未來計畫
Dogfooding 確定了幾個需要改進的領域:
我們將繼續對 Kontroler 進行測試,以進一步完善和量產該工具。
以上是檢查:「DogFood」測試的詳細內容。更多資訊請關注PHP中文網其他相關文章!