openwrt 实时获取连接和断开状态_[网络]薅资本主义羊毛之GitHub编译OpenWrt

在尝试节省编译OpenWrt成本的过程中,作者探索了使用GitHub Actions来在线编译。通过创建.github/workflows/blank.yml、run.sh和openwrt.sh三个文件,实现了Actions调用shell脚本进行编译。这个流程大约耗时1小时40分钟,并且可以实时查看编译进度。完整项目可在github.com/kukutt/actions找到。
摘要由CSDN通过智能技术生成

上篇[网络]openwrt的阿里云编译发布后,大神们纷纷回复GitHub的actions可以在线编译,心疼我18元的同时,开始了快乐薅羊毛之旅。。。。

查看了资料后,actions的语法很多,功能强大。薅羊毛心切,设想是否可以让actions直接调用shell脚本,编写比较熟悉的shell脚本完成编译?

于是乎我开始了实验&测试&学习。以下我一共在版本库中增加了3个文件。

分别是

.github/workflows/blank.yml

*.yml文件可以认为actions的启动脚本。源码如下:

name: Openwrt-buildon: pushjobs:  build:    runs-on: ubuntu-18.04    steps:# 检出版本库    - name: Checkout      uses: actions/checkout@v2# 运行脚本    - name: Run Shell Script      run: ./run.sh    # 输出文件    - name: Upload artifact      uses: actions/upload-artifact@master      with:        name: outfile        path: ./output

【解释】

  • actions/checkout@v2:功能是导出版本库;
  • run: ./run.sh:可以认为shell脚本入口;
  • actions/upload-artifact@master:功能是上传output文件夹,shell脚本输出成果物放到output文件夹中即可实现上传。

run.sh

#!/bin/bashmkdir output./openwrt.sh output

openwrt.sh

#!/bin/bash# 更新系统sudo apt-get updatesudo apt-get -y install treesudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint# 下载openwrt源码git clone -b openwrt-19.07 https://github.com/openwrt/openwrt.gitpushd openwrt# 更新feed./scripts/feeds update -a./scripts/feeds install -a# 配置rm -rf .config .config.allcat >> .config <

以上脚本提交后,push到github中,github就会自动运行。经测试,openwrt编译基本上1小时40多分钟完成。

如下:可实时查看编译状态

c263cca057e76e07d05fa3c99d9a1dd9.png

最后,附上github路径(求小星星),github.com/kukutt/actions.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值