前言

GitHub Actions 是 GitHub 的持续集成服务,于2018年10月推出。可以自动化和定制化项目的 Workflow,它的功能非常强大,每一个 action 都用来执行一种操作,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。将这些 actions 组合起来,就是一个持续集成的过程。当然,这些 actions 都共享在 GitHub 的代码仓库中,我们可以直接引用。

​ Github Actions 提供了整套服务器环境,服务器规格为:

  • 2-core CPU
  • 7 GB RAM 内存
  • 84 GB SSD 硬盘空间

​ 什么是 Github Actions,官网的介绍是:

With GitHub Actions you can automate your workflow from idea to production.

​ 所以我们完全可以用它来编译 Open­Wrt固件

项目地址

有以下三个项目地址:

P3TERX

ccbcfan

coolsnowwolf/lede

以下教程以ccbcfan为模板,其他两个教程基本一样。

准备工作

  • GitHub 账号
  • 本地搭建编译环境,生成.config文件。(可选)

一.拉取仓库

二.配置编译的源码跟机型

​ 选择要编译的源码跟机型,在.github/workflows文件夹里面的build-openwrt.yml文件修改。

1.可供选择型号

2.各型号目录文件介绍

build-对应机型的 diy、pacthes、files 文件夹说明:

  • diy文件夹里面可以按源码对应路径放入文件替换源码文件,说白了diy文件夹里面就是源码的根目录,你可以按源码路径替换所有的源码文件。
  • pacthes补丁文件夹,修改固件源码,然后提取修改差异部分来达到修改源码文件的需求。
  • files文件夹,是用来存放你编译好固件然后安装好固件后设置好的文件。
3.GitHub Action编译工作文件

4.编译型号修改

三.启动编译

​ 打开Action页面

​ 启动workflow工作流程

​ 至此固件编译工作开始,等待2~3个小时即可完成。