OpenWrt 支援 CI/CD(持續整合 / 持續部署)通常是為了自動化以下幾個流程:
-
自動編譯 firmware(例如針對特定開發板自動打包 .bin)
-
自動測試 kernel module、網路套件或客製化應用(例如 LuCI plugin)
-
自動部署 firmware / 套件到測試設備或模擬器(如 QEMU)
-
自動推送至 OTA server 或映像檔分發系統(如 sysupgrade 伺服器)
一、CI/CD 支援架構概觀
以下是典型的 OpenWrt CI/CD 流程架構:
二、實作範例:GitHub Actions 自動編譯 OpenWrt
三、常見組合與工具建議
項目 | 工具選擇 | 說明 |
---|---|---|
Git Repo | GitHub / GitLab | 原始碼託管 |
CI Engine | GitHub Actions / GitLab CI / Jenkins / Drone | 自動化執行 |
編譯工具 | OpenWrt SDK / buildroot | 可使用 openwrt-sdk-*.tar.xz |
測試工具 | QEMU / pytest + ssh / netperf | 自動測試 firmware |
OTA 部署 | sysupgrade + scp / HTTP OTA Server | 自動部署映像檔 |