首先总结:对于代码测试很有用,至少能白嫖一个2C7G的编译机。
可以用它编译软件(比如openwrt),定时执行爬虫等等,想用它当vps用还是算了。
如果仍然有兴趣,请往下看,增加点没有用的知识。
Github Action是一种自动化工具,用于在Github上构建、测试、打包和部署软件项目。
举个例子,本地写了点代码,提交push后触发action,自动完成编译发布。
action的核心是yaml格式的workflow文件,相关概念:
workflow (工作流程):持续集成一次运行的过程。
job (任务):一个 workflow 由一个或多个 job 构成,含义是一次持续集成的运行,可以完成多个任务。
step(步骤):每个 job 由多个 step 构成,一步步完成。
action (动作):每个 step 可以依次执行一个或多个命令(action)
实例:编译libtorrent
首先新建一个workflow
有很多官方的模板可以选,我们从头新建一个
name: Build Libtorrent
# 手动触发
on: workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
steps:
# 使用checkout检出libtorrent仓库
# checkout和下面的upload-artifact一样,都是已经写好的脚本,直接可以用
- name: Checkout libtorrent
uses: actions/checkout@v3
with:
repository: 'ArvidN/libtorrent'
# 包括子模块
submodules: 'recursive'
# 安装相关依赖
- name: Install depends
run: |
sudo apt-get update
sudo apt-get install -y libboost-tools-dev libboost-dev libboost-system-dev
mkdir target
- name: Build libtorrent
run: |
# 使用boost编译
echo "using gcc ;" >>~/user-config.jam
# 将在lib文件夹下生成so文件
b2 crypto=openssl cxxstd=14 release install --prefix=./
# 使用upload-artifact上传lib文件夹
- name: Upload lib
uses: actions/upload-artifact@v3
with:
name: lib
path: lib
手动触发
可以看到执行结果
可以看到上传的文件,可以下载
下面是虚拟环境的评测,2C7G100G,配置还挺高,线路没意义就不测了。
-------------------- A Bench.sh Script By Teddysun -------------------
Version : v2022-06-01
Usage : wget -qO- bench.sh | bash
----------------------------------------------------------------------
CPU Model : Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
CPU Cores : 2 @ 2793.435 MHz
CPU Cache : 49152 KB
AES-NI : Enabled
VM-x/AMD-V : Disabled
Total Disk : 96.9 GB (57.7 GB Used)
Total Mem : 6.8 GB (541.0 MB Used)
Total Swap : 4.0 GB (0 Used)
System uptime : 0 days, 0 hour 3 min
Load average : 0.09, 0.25, 0.12
OS : Ubuntu 22.04.2 LTS
Arch : x86_64 (64 Bit)
Kernel : 5.15.0-1034-azure
TCP CC : cubic
Virtualization : Dedicated
Organization : AS8075 Microsoft Corporation
Location : Phoenix / US
Region : Arizona
----------------------------------------------------------------------
I/O Speed(1st run) : 204 MB/s
I/O Speed(2nd run) : 204 MB/s
I/O Speed(3rd run) : 205 MB/s
I/O Speed(average) : 204.3 MB/s
----------------------------------------------------------------------
Node Name Upload Speed Download Speed Latency
Speedtest.net 1431.00 Mbps 9352.90 Mbps 9.30 ms
Los Angeles, US 1430.94 Mbps 14479.42 Mbps 8.39 ms
Dallas, US 1431.12 Mbps 14251.92 Mbps 30.44 ms
Montreal, CA 205.90 Mbps 920.14 Mbps 78.32 ms
Paris, FR 791.37 Mbps 4863.06 Mbps 135.64 ms
Amsterdam, NL 638.36 Mbps 5522.91 Mbps 142.00 ms
Shanghai, CN 350.75 Mbps 4028.15 Mbps 208.33 ms
Nanjing, CN 456.32 Mbps 4039.00 Mbps 188.79 ms
Hongkong, CN 4.70 Mbps 5.10 Mbps 157.10 ms
Singapore, SG 482.59 Mbps 105.68 Mbps 182.75 ms
Tokyo, JP 733.54 Mbps 7144.50 Mbps 106.95 ms
----------------------------------------------------------------------
Finished in : 5 min 42 sec
Timestamp : 2023-03-25 14:58:49 UTC
----------------------------------------------------------------------
DD 个 Windows 玩玩
咋玩儿的,带带
蹲个教程
插眼
@zxxx #1 有没有一种可能,他有win镜像
给个教程呗
还有哪些玩法?
这位博主的使用 GitHub Actions 云编译 OpenWrt好像就是基于这个的,性能和网络没得说,巨快。不过定制起来还是本地方便点,比如改文件啥的。
@Just纱世里 #9
还可以自动部署hexo到Github Pages做博客,本地push来触发