Skip to content

Walis 是什麼

Walis 是給單一台機器用的 CI/CD。它依排程、webhook 或你按下按鈕來執行 shell 腳本,並保留日誌。

它刻意做得比 Jenkins 與 Woodpecker 少。差別在於它不要求什麼。

Walis 的取捨

JenkinsWoodpeckerWalis
需要 Git forge
需要容器實務上是選用
執行端要裝 runtimeJVM容器執行環境不用
流程定義放在UI 或 Jenkinsfile只能是 repo 的 YAMLUI,可匯出成 JSON
外掛隔離沒有容器JavaScript 沙箱

Jenkins 什麼都做得到,是因為外掛跟核心在同一個 JVM 裡且沒有沙箱——這也是為什麼一個壞掉的外掛 可以拖垮整台 controller。Woodpecker 的隔離是免費的,因為每一步都是容器——代價是綁死 forge 與容器環境。

Walis 走第三條路:限制外掛的輸出形式,而不是限制它跑在哪。外掛回傳一段 shell, 你在安裝前就讀得到。

它不是什麼

  • 不是叢集。 一台機器、SQLite、沒有 HA。有遠端執行器,但伺服器是單一程序。
  • 不是 Git 主機。 用 webhook 指向你的 repo,或者跑根本沒有 repo 的任務。
  • 不是容器平台。 它執行 shell;要用容器,讓你的腳本自己去啟動。

以 MIT 授權釋出。