OpenWrt 的編譯可以分為兩種方式:
- 本地的物理機/虛擬機/WSL(windows sub-linux)來執行編譯工作。
- 利用 GitHub 提供的 Action 功能,編寫 continuous integration (CI) workflows 來實現在線雲編譯。
前言:
接上篇,本篇就介紹一下另外一種編譯方法,利用 GitHub 的 CI 實現雲編譯。本篇內容需要你至少了解 GitHub,有賬號,知道基本的 star, fork 等概念。
GitHub Actions 是 GitHub 推出的持續集成 (Continuous integration,簡稱 CI) 服務,它提供了配置非常不錯的虛擬服務器環境(E5 2vCPU/7G RAM),基於它可以進行構建、測試、打包、部署項目。
參考:
https://p3terx.com/archives/build-openwrt-with-github-actions.htmlhttps://github.com/P3TERX/Actions-OpenWrthttps://github.com/KFERMercer/OpenWrt-CI
項目地址:
https://github.com/yfdoor/OpenWrt-CI
我自己修改的項目,結合上面大神寫的腳本,做了一些修改,主要是:
- 源碼採用官方 OpenWrt 和 Lean package 包的結合方式。
- Merge-upstream.yml 用來自動由 openwrt 和 Lean 的 package 文件夾下載最新源碼。
A、默認是每天固定時間觸發。
B、默認由 https://github.com/openwrt/openwrt.git 更新源碼。
C、默認由 https://github.com/coolsnowwolf/lede/trunk/package/lean/ 抓取 package 文件夾。 - OpenWrt-CI.yml 用來編譯固件。
A、默認是點擊 “star” 觸發編譯。
B、環境變量 SSH_ACTIONS: true --> 是否開啟 SSH UPLOAD_BIN_IPK: true --> 是否將 IPK 文件也打包上傳 UPLOAD_FIRMWARE: true --> 是否上傳固件
C、固件定製,請參照文件內說明
使用說明:
- 首先請先將 openwrt fork 到你自己的倉庫。
https://github.com/openwrt/openwrt - 將本項目文件放在你 openwrt 項目 .github/workflows 目錄下即可。點擊自己的 star 就開始編譯。源碼每天會按照設定的時間自動更新。
閱讀更多 YFDOOR 的文章