logo NodeSeekbeta

Github Action教程,含虚拟机规格评测

首先总结:对于代码测试很有用,至少能白嫖一个2C7G的编译机。
可以用它编译软件(比如openwrt),定时执行爬虫等等,想用它当vps用还是算了。
如果仍然有兴趣,请往下看,增加点没有用的知识。


Github Action是一种自动化工具,用于在Github上构建、测试、打包和部署软件项目。
举个例子,本地写了点代码,提交push后触发action,自动完成编译发布。

action的核心是yaml格式的workflow文件,相关概念:
workflow (工作流程):持续集成一次运行的过程。
job (任务):一个 workflow 由一个或多个 job 构成,含义是一次持续集成的运行,可以完成多个任务。
step(步骤):每个 job 由多个 step 构成,一步步完成。
action (动作):每个 step 可以依次执行一个或多个命令(action)


实例:编译libtorrent
首先新建一个workflow
iUHfZ5.png
有很多官方的模板可以选,我们从头新建一个
iUHyO8.png

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

手动触发
iUHAaF.png
可以看到执行结果
iUH4zZ.png
可以看到上传的文件,可以下载
iUHU0H.png


下面是虚拟环境的评测,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
----------------------------------------------------------------------
12
12

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有14683位seeker

🎉欢迎新用户🎉