架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3524|回复: 2

【实战】使用 GitHub Actions 编译 OpenWRT 固件

[复制链接]
发表于 2022-5-28 18:50:12 | 显示全部楼层 |阅读模式
GitHub Actions 介绍

大家知道,持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。Github Action是GitHub 推出的持续集成 (Con­tin­u­ous in­te­gra­tion, CI) 服务,它提供了配置非常不错的虚拟服务器环境,基于它可以进行构建、测试、打包、部署项目。让开发者自动化实现定制化工作流逻辑的平台,集成了持续集成和交付(CI/CD)功能,可以让开发者自动化完成一系列工作流。

GitHub Ac­tions 为每个任务 (job) 都提供了一个虚拟机来执行,每台虚拟机都有相同的硬件资源:

2-core CPU, 7 GB RAM 内存, 14 GB SSD 硬盘空间,硬盘总容量为90G左右,可用空间为30G左右。

每个仓库只能同时支持20个 workflow 并行。
每小时可以调用1000次 GitHub API 。
每个 job 最多可以执行6个小时。
免费版的用户最大支持20个 job 并发执行,macOS 最大只支持5个。
私有仓库每月累计使用时间为2000分钟,超过后$ 0.008/分钟,公共仓库则无限制。
操作系统方面可选择 Win­dows server、Linux、ma­cOS,并预装了大量软件包和工具。


关于 GitHub 托管的运行器官方介绍:https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners

OpenWrt 介绍

2002年底,Linksys公司推出一款叫WRT-54G的路由器,大受欢迎,不过WRT-54G使用的是Linux操作系统,软件核心是基于GPL许可开发的,需遵循开源标准。Linksys公司在2003年开放了源代码,在2004年1月就出现了第一个基于Linksys源码、以OpenWRT命名的开源路由系统。另外,后续的LEDE是2016年产生的 OpenWRT 的一个分支,openwrt和LEDE这两者于2018年1月合并为一。

官网地址:https://openwrt.org


Lienol、Lean、ImmortalWrt 项目介绍

三个项目都是基于 OpenWrt 官方项目进行修改和定制的开源项目。移植了更多的包,支持更多的设备,更好的性能,以及针对中国大陆用户的特殊优化。

Lienol 地址:https://github.com/Lienol/openwrt

Lean 地址:https://github.com/coolsnowwolf/lede

ImmortalWrt 地址:https://github.com/immortalwrt/immortalwrt


编译 OpenWrt 固件

大体介绍完了,下面来开始教大家如何使用 GitHub Actions 编译 OpenWRT 固件,为什么要使用 GitHub Actions 编译固件呢?

1.不需要自己的物理资源,直接使用 GitHub 提供的服务器
2.由于一些资源国内无法访问,会编译失败,使用 GitHub 服务器可能不会由此困扰

首先,需要有一个 GitHub 账号,fork “esirplayground”作者的 AutoBuild-OpenWrt 项目,因为他项目已经写好了 Actions 的脚本。

地址:https://github.com/esirplayground/AutoBuild-OpenWrt,如下图:


QQ截图20220528182724.jpg

这样我们就相当于我们自己也创建了一个 AutoBuild-OpenWrt 项目,actions 功能默认是没有开启的,需要我们开启一下,点击“I understand my workflows, go ahead and enable them”,如下图:

Workflows aren’t being run on this forked repository
Because this repository contained workflow files when it was forked, we have disabled them from running on this fork. Make sure you understand the configured workflows and their expected usage before enabling Actions on this repository.

I understand my workflows, go ahead and enable them


QQ截图20220528183036.jpg

然后编辑 /.github/workflows/Build_OP_x86_64.yml 文件,如下图:

QQ截图20220528183321.jpg

取消 push 相关的注释,然后提交代码,如下图:


QQ截图20220528183510.jpg

查看 Actions 页面,选择 Build_x86_64 工作流,可以看到已经在开始执行编译工作了,如下图:

QQ截图20220528115905.jpg

大约执行了 3 小时的时候,终于构建成功了,如下图:

QQ截图20220528183820.jpg

可以在 Artifacts 下方点击 OpenWrt 下载压缩包,下载完后压缩包内容如下图:

QQ截图20220528184022.jpg

最后,附上基于 ImmortalWrt 构建的固件下载地址:https://doc.openwrt.cc/

(完)




上一篇:SQL Server 新建用户只允许访问某数据库
下一篇:【技巧】开发必备,查看 dotnet 源码
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2022-5-29 10:04:43 | 显示全部楼层
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2022-10-22 10:43:17 | 显示全部楼层
ESXI安装文件iso 支持2.5G网卡  用rufus工具刻录到U盘安装, UEFI启动
链接:https://pan.baidu.com/s/1CSuDepYQ1F5xJtNae1Ejiw
提取码:1234


Rufus工具下载链接
链接:https://pan.baidu.com/s/1jDjFYLpBkhDbjDQ9qgFYqQ
提取码:1234

Openwrt安装文件,物理机,虚拟机在这个下载连接
链接:https://pan.baidu.com/s/1qiGxte6_RytujF4fSD-yIA
提取码:1234

爱快系统Ikuai3.6.0系统  支持2.5G网卡
链接:https://pan.baidu.com/s/1sim9hlAF1QzBkC1ATjoe4w
提取码:1234

ESXI里ikuai+Openwrt上网设置 手册说明书
链接:https://pan.baidu.com/s/1WCYZmEFRLpJJVkias3mcEQ
提取码:1234

物理机直接安装Openwrt系统
链接:https://pan.baidu.com/s/1_ZnmR9soQQqpBI9bvon_VA
提取码:1234

Openwrt设置上网设置
链接:https://pan.baidu.com/s/1hwZi0tV_AI-7qgZvy6COgg
提取码:1234

J4125-MW-2.5G单内存4网卡BIOS文件跟教程哦
链接:https://pan.baidu.com/s/1FPVPRx38Nh0WMG0wn1C7jA
提取码:1234

J4125-SZL-2.5G双内存4网卡BIOS文件
链接:https://pan.baidu.com/s/1SlWZF0JQSBiiazEbDDAitw
提取码:1234
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-20 04:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表