「隨筆」OpenWrt 固件編譯過程:Github雲編譯

OpenWrt 的編譯可以分為兩種方式:

  1. 本地的物理機/虛擬機/WSL(windows sub-linux)來執行編譯工作。
  2. 利用 GitHub 提供的 Action 功能,編寫 continuous integration (CI) workflows 來實現在線雲編譯。

前言:

接上篇,本篇就介紹一下另外一種編譯方法,利用 GitHub 的 CI 實現雲編譯。本篇內容需要你至少了解 GitHub,有賬號,知道基本的 star, fork 等概念。

GitHub Ac­tions 是 GitHub 推出的持續集成 (Con­tin­u­ous in­te­gra­tion,簡稱 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

我自己修改的項目,結合上面大神寫的腳本,做了一些修改,主要是:

  1. 源碼採用官方 OpenWrt 和 Lean package 包的結合方式。
  2. Merge-upstream.yml 用來自動由 openwrt 和 Lean 的 package 文件夾下載最新源碼。
    A、默認是每天固定時間觸發。
    B、默認由 https://github.com/openwrt/openwrt.git 更新源碼。
    C、默認由 https://github.com/coolsnowwolf/lede/trunk/package/lean/ 抓取 package 文件夾。
  3. OpenWrt-CI.yml 用來編譯固件。
    A、默認是點擊 “star” 觸發編譯。
    B、環境變量 SSH_ACTIONS: true --> 是否開啟 SSH UPLOAD_BIN_IPK: true --> 是否將 IPK 文件也打包上傳 UPLOAD_FIRMWARE: true --> 是否上傳固件
    C、固件定製,請參照文件內說明

使用說明:


  1. 首先請先將 openwrt fork 到你自己的倉庫。
    https://github.com/openwrt/openwrt
  2. 將本項目文件放在你 openwrt 項目 .github/workflows 目錄下即可。點擊自己的 star 就開始編譯。源碼每天會按照設定的時間自動更新。


分享到:


相關文章: