记录时间:2020 年 1 月 16 日
关键词:GitHub Action Padavan 自动编译 云编译 固件 K2
在之前搜索Padavan的编译教程时,发现了openwrt固件的在线自动编译,当时觉得很厉害。在捯饬完Padavan的固件编译之后,想找找看Padavan有没有类似的东西,直接在GitHub上搜索就找到了,地址:https://github.com/chongshengB/Padavan-build,感谢chongshengB。
简单的试用
由于打开页面时没有任何说明,于是直接fork了这个脚本,根据openwrt的自动编译教程以及这个编译脚本的内部注释,简单试用了一下一次就编译通过了,非常方便快捷,但是脚本默认编译的是K2P的固件没法测试。
简单说一下脚本的使用方法:
- fork这个脚本
- 打开Actions页面,点击绿色的
I understand my workflows, go ahead and run them
- 返回Code页面,打开
.github/workflows
,再打开build-padavan.yml
文件,删除如下这几行中的#
之后提交保存,编译就会开始自动运行,在Actions页面还能看到编译进度 - 编译完成后,再次打开Actions, 点击右上方的Artifacts就能看到下载的链接了
1
2
3
4
5
6# branches:
# - master
# schedule:
# - cron: 0 8 * * 5
# watch:
# types: [started]尝试自动编译一个K2的固件
- 找到
build-padavan.yml
文件中第48行中的TNAME: K2P-5.0
,修改为1
TNAME: PSG1218
- 按脚本注释删除和添加配置项,关于配置项,可以查看配置文件
1
2
3
4
5
6#因不同型号配置功能不一样,所以先把配置项删除,如果你自己要添加其他的,也要写上删除这一条,切记!!!
sed -i '/CONFIG_FIRMWARE_INCLUDE_MENTOHUST/d' .config #删除配置项MENTOHUST
sed -i '/CONFIG_FIRMWARE_INCLUDE_SCUTCLIENT/d' .config #删除配置项SCUTCLIENT
#以下选项是定义你需要的功能(y=集成,n=忽略),重新写入到.config文件
echo "CONFIG_FIRMWARE_INCLUDE_MENTOHUST=n" >> .config #MENTOHUST
echo "CONFIG_FIRMWARE_INCLUDE_SCUTCLIENT=n" >> .config #SCUTCLIENT - 保存并重新上传该脚本,Actions就开始自动编译步骤了,编译完成后在Artifacts中下载编译完成的固件
END
其实自动编译过程就是将手动编译时的每个步骤写成了脚本,GitHub Actions会根据脚本来运行每条命令,非常方便。甚至可以利用Actions和GitHub page方便地搭建博客,总之使用方法多样,另外在这个Marketplace还能找到很多别人写好的Actions,实现很多有趣的功能。关于GitHub Actions 详细的内容可以参考一下官方文档。