Github Actions 是 Microsoft 收购 GitHub 后推出的 CI/CD 服务,它提供了性能配置非常不错的虚拟机服务器(E5 2vCPU/7G RAM),基于它可以进行构建、测试、打包、部署项目。对于公开仓库可免费无时间限制的使用,且单次使用时间长达 6 个小时,这对于编译 OpenWrt 来说是非常充足的。不过 GitHub Actions 有一定的使用门槛。
准备工作
1.准备一个GitHub账号
推荐使用谷歌浏览器注册或者其他带翻译的浏览器都可以,免得你们看不懂。
打开https://github.com 注册一个账号
我们点击注册
这里我推荐谷歌邮箱 QQ邮箱也是可以的
如果没有亮就代表你的邮箱被占用或者你输入的有错误
按照我图中的来点击按钮
下面安装我图中的来选
经过一段炫酷的动画,我们来到了下面的界面
2.克隆仓库
打开项目地址https://github.com/ligehhh/openwrt页面。点击页面中的Fork 使用这个模版按钮。
填写仓库名称,然后点击Create fork(从模版创建储存库)按钮。
经过几秒钟的等待,页面会跳转到新建的仓库,内容和我的项目是相同的。
首先你必须要熟悉整个 OpenWrt 的编译过程,这会让你非常容易的理解如何使用 GitHub Actions 进行编译,即使你没有成功过。因为实际上本地编译近 90% 失败的原因是因为网络问题导致的,GitHub Actions 服务器由 Microsoft Azure 提供,拥有万兆带宽,可以使编译成功率大大提升。
方案默认引用 Lean 的源码,他的源码非常的优秀。有其它需求可自行修改 workflow 文件。
3.固件编译
我们先来看一下这个工程库的基本分布
下面我们来重点看一下自定义脚本部分
我们打开diy-part1.sh文件
这个脚本可以添加拉取一些第三方插件库或者单独的插件
下面看一下diy-part2.sh文件
这个里面我写了很清楚你们可以不做修改或者把不需要的删掉
像修改主机名什么的你们不需要的话可以删掉那一段,你们自己发挥哈,这里自己琢磨一下。
1.上传配置文件法
这里提到的配置文件就是你本地编译环境生成的.config
文件
下面修改一下我原来的工程文件
这里两个随便一个都可以,因为这两个都是一样的。只是我在更新的两个固件你们改随便一个都可以,剩下的一个可以删除,反正你们用不到。
我们往下面翻
下面开始云编译固件
这是同意一下他们的协议
然后刷新网页就可以看到我们的编译工程了
接下来就是等待工程出包了
接下来就是等待工程出包了