|
1 |
| -# 使用 GitHub Actions 的 OpenWrt/Lede 在线集成自动编译环境. |
| 1 | +# 使用 GitHub Actions 的 OpenWrt 在线集成自动编译环境. |
2 | 2 |
|
3 |
| -### 使用方法: |
| 3 | +## 自动定制固件, 自动生成配置文件, 无需上传配置, 依赖自动调整. |
| 4 | +## 默认每天凌晨四点自动编译, 兼容 coolsnowwolf/lede 以及 OpenWrt trunk. |
| 5 | + |
| 6 | +[KFERMercer/OpenWrt-CI](https://github.com/KFERMercer/OpenWrt-CI) |
| 7 | + |
| 8 | +感谢[P3TERX](https://github.com/P3TERX/Actions-OpenWrt)珠玉在前. |
| 9 | + |
| 10 | +### 好消息! 好消息! |
| 11 | +### 你还在使用别人编译的加料固件吗?! |
| 12 | +### 你还在因为学不会Linux命令而苦苦挣扎吗?! |
| 13 | +### 你还在用你那双核赛扬装虚拟机吗?! |
| 14 | +### 你还在花费半辈子攒下的论坛币只为了下载别人编译好的附件吗?! |
| 15 | +### 你还在因为自身原因导致的编译失败而发一些不知所云的issue吗?! |
| 16 | +### 生命冇 take two! 我们浪费在编译上的时间已经够多了! |
| 17 | +### 21世纪, 自己的才是最好的! 现在人人都可以定制自己的专属固件了! <sub><sub>(不包含三岁及以下儿童)</sub></sub> |
| 18 | + |
| 19 | +--- |
| 20 | + |
| 21 | +## 麻瓜级使用教程: (编写中) |
| 22 | + |
| 23 | +> ### 这个CI脚本和[P3TERX/Actions-OpenWrt](https://github.com/P3TERX/Actions-OpenWrt)的同样是云编译, 有什么不同? |
| 24 | +
|
| 25 | +这个 CI 脚本可以帮助你在你的 OpenWrt 分支下构建当前库的Op固件, 无需上传配置文件, 不依赖外挂配置脚本, 所以不会污染库文件树, 对Op开发者比较友好. |
| 26 | + |
| 27 | +P3TERX/Actions-OpenWrt 的优势在于, 其可以独立于文件库存在, 可以快速搭建起可用的编译配置, 但是由于 OpenWrt make configure 自身机制的缘故, 生成的配置文件鲁棒性较差, 需要经常重新生成上传配置, 有形中加重了维护负担, 使得使用起来不是很`优雅`. |
| 28 | + |
| 29 | +> ### 这个CI脚本适合哪些人? |
| 30 | +
|
| 31 | +- 伸手党 (访问者可以每日下载到当日最新的固件) |
| 32 | +- 正在维护自己的 OpenWrt 分支的大佬/初学者/玩家 (可以快速测试自己的代码) |
| 33 | +- 没有精力维持一个专用编译机的佛系人士 (梯子到期了?) |
| 34 | + |
| 35 | +> ### 开始吧. |
| 36 | +
|
| 37 | +在一切开始前, 你需要的是: |
| 38 | + |
| 39 | +- GitHub 账号 |
| 40 | +- 申请使用 GitHub Actions |
| 41 | +- 自己的OpenWrt分支(fork大雕源或者官方源) |
| 42 | +- 识字能力以及基本电脑操作技能 |
| 43 | +- 脑子 |
| 44 | + |
| 45 | +你不需要的是: |
| 46 | + |
| 47 | +- Linux技能 |
| 48 | +- 对编译失败的处置能力 (脚本由我维护) |
| 49 | +- 梯子 |
| 50 | + |
| 51 | +### 1. 注册GitHub账号并开启GitHub Actions (百度). |
| 52 | + |
| 53 | +### 2. fork [coolsnowwolf/lede](https://github.com/coolsnowwolf/lede) 或者其他OpenWrt源. |
| 54 | + |
| 55 | +### (coolsnowwolf/lede已经合并此配置, 如果你pork了此库, 请忽略3. 4. 步) |
| 56 | + |
| 57 | +### 3. 点击页面上方的`Create new file`按钮, 打开后在文件名处填入`.github/workflows/openwrt-ci.yml`(github 会自动创建路径). |
| 58 | + |
| 59 | +### 4. 打开[这个链接](https://raw.githubusercontent.com/KFERMercer/OpenWrt-CI/master/openwrt-ci.yml), `Ctrl+a`选泽复制页面所有内容黏贴在刚才的下方的大文本框内. |
| 60 | + |
| 61 | +> ### 现在暂停一下, 代码里需要留意一些东西... |
| 62 | +
|
| 63 | +如果你只希望生成默认配置, 不经过任何修改的固件, 那你不需要对代码进行任何修改. 自动集成工具会在每次推送后自动编译出最新默认配置的固件. |
| 64 | + |
| 65 | +如果你希望定制你的固件:\ |
| 66 | +代码里的注释部分详细介绍了如何在脚本中客制化你的固件. 简单来说, 你只需要解除注释相应行即可. |
| 67 | + |
| 68 | +现在我们继续: |
| 69 | + |
| 70 | +### 5. 假设你已经完成了脚本修改, 现在点击页面最下方的绿色按钮. 你是色盲也没关系, 因为按钮上写着`Commit new file`. |
| 71 | + |
| 72 | +### 6. 大功告成, 集成编译环境会自动开始编译. 现在返回你的库首页, 点击页面上方的`Actions`按钮就可以查看进度. |
| 73 | + |
| 74 | +> ### 如何下载到编译完成的固件? |
| 75 | +
|
| 76 | +进入`Actions`标签页后, 如果相应的集成活动全部完成 (打勾) , 点击页面右上方的`Artifacts`即可看到你的固件 (通常是一个压缩包). 点击压缩包即可开始下载. (别人也可以下载你的固件, 是不是很神奇?) |
0 commit comments