首頁 > 後端開發 > Golang > 檢查:「DogFood」測試

檢查:「DogFood」測試

DDD
發布: 2025-01-20 08:03:32
原創
429 人瀏覽過

Kontroler:自我測驗工作流程編排工具

我的最新專案 Kontroler 是一個工作流程編排工具,具有獨特的特點:自我測試。 它不僅編排工作流程,還使用自己的功能來測試其功能,這個過程稱為「dogfooding」。這種持續的自我測試確保了該工具可靠地工作,同時自我改進。

為什麼要進行自我測試?

我對自動化的熱情促使我渴望創造高效可靠的工具。 Kontroler 不僅僅是另一個工作流程運行程式;它也是一個工作流程運行程式。它旨在證明其自身的功能,無需外部測試工具。 這種內建的壓力測試提供了堅實的基礎,觀察其自我實施的品質控制既實用又有益。

Kontroler 如何自我測驗

實作自測需要建立額外的元件:

  • GitHub Webhook 偵聽器: 處理傳入的 Webhook、處理基礎架構目錄並產生 DAG 和 DAGRun。
  • Kontroler Webhook 監聽器: 處理來自 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

它測試什麼?

目前管路測試:

  • 軟體包安裝(npm、Go)
  • 去檢查
  • 單元測試

這些測試建立了對系統的信心,而成功的 CI 管道執行提供了對 Kontroler 任務分配和 Webhook 產生的端到端驗證。

GitHub 的 UI 顯示結果:

Kontroler:

Dogfooding 的回報(與挑戰)

第一次成功的管道運行令人難以置信地令人滿意——看到那些綠色的複選標記超出了我的預期。 Kontroler 確實被使用過,即使只有我一個人。

然而,自我測驗也並非沒有挑戰。 事實證明,調試客戶端身份驗證失敗和與臨時文件相關的錯誤等問題非常耗時。 但是,這個測試過程暴露了並讓我解決了關鍵的缺陷。

Kontroler 的未來計畫

Dogfooding 確定了幾個需要改進的領域:

  • 運行時 PodTemplate 覆蓋:增強 CI 管道等工作流程的靈活性。
  • DagRun CRD 中的 PVC 創建:改進的資源管理。

我們將繼續對 Kontroler 進行測試,以進一步完善和量產該工具。

以上是檢查:「DogFood」測試的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板