最近我在改版自用的CF IP优选工具的时候,总得为所有的系统编译一遍版本。而Go编程语言的交叉编译特性,可以在自己的系统中编译出不同系统的版本。但是这个交叉编译的命令又臭又长。于是我就折磨起了GitHub Actions,开启了自动编译并发布文件之路
下面是Ubuntu编译环境下使用Go语言编译的示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| name: Build Test on: push: branches: - main jobs: Build: name: Build Linux Version runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setting up Go uses: actions/setup-go@v2 with: go-version: 1.17 - name: Building run: | go build main.go # 在此生成一个release文件夹,用来做接下来的打包成品使用 mkdir release cp main release/main - name: Uploading uses: actions/upload-artifact@v1 with: name: release_linux # 生成的压缩包名称 path: release # 需要打包的路径
|
如无意外,文件会在Actions编译完毕后生成在任务下方,可供下载。