利用GitHub Actions自动构建go项目的二进制到release
利用GitHub Actions自动构建go项目的二进制到release
配置
所用 Actions:go-release-action
使用配置其实非常简单,基本上阅读完官方介绍文档就可以上手使用了。
我们在 workflows 目录下添加如下内容:
name: build-go-binary
on:
release:
types: [created,published] # 表示在创建新的 Release 时触发
jobs:
build-go-binary:
runs-on: ubuntu-latest
strategy:
matrix:
goos: [linux, windows, darwin] # 需要打包的系统
goarch: [amd64, arm64] # 需要打包的架构
steps:
- uses: actions/checkout@v3
- uses: wangyoucao577/go-release-action@v1.30
with:
github_token: ${{ secrets.GITHUB_TOKEN }} # 一个默认的变量,用来实现往 Release 中添加文件
goos: ${{ matrix.goos }}
goarch: ${{ matrix.goarch }}
pre_command: export CGO_ENABLED=0
project_path: cmd/gateway # 编译目录
goversion: 1.19 # 可以指定编译使用的 Golang 版本
binary_name: "fds" # 可以指定二进制文件的名称
# extra_files: README.md # 需要包含的额外文件
参数说明
问题
403错误
W0710 10:27:32.962685 2898 main.go:58] Upload asset error, will retry in 3s: POST https://uploads.github.com/repos/yann-y/fds/releases/111607799/assets?name=fds-v1.0.0-linux-arm64.tar.gz: 403 Resource not accessible by integration []
项目内setting -> actions -> general -> Workflow permissions
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果