首先,创建一个Golang项目,并在Github上创建一个对应的仓库。
其次,在本地编写Golang程序并进行测试,确保程序可以正常运行并编译通过。
接下来,需要将本地代码push到Github上的仓库中。在命令行中进入项目所在目录,运行以下命令:
git add .
git commit -m “initial commit”
git push
然后,切换到仓库的“Releases”标签页,点击“Create a new release”按钮创建新的release。
在新页面中,输入相关信息,例如版本号(tag version)、标题、描述等,并上传编译好的二进制文件。
此时,我们就需要编写一个脚本来实现自动生成二进制文件的功能。以Linux平台为例,编写名为“build.sh”的脚本文件,并将其上传到Github仓库中。
$ cat build.sh
#!/bin/bash
# create a folder for binary files
mkdir -p binaries
# build the program for Linux platform
GOOS=linux GOARCH=amd64 go build -o binaries/myprogram-linux-amd64
# build the program for macOS platform
GOOS=darwin GOARCH=amd64 go build -o binaries/myprogram-darwin-amd64
# build the program for Windows platform
GOOS=windows GOARCH=amd64 go build -o binaries/myprogram-windows-amd64.exe
在脚本中,我们创建了一个名为“binaries”的文件夹,并通过GOOS、GOARCH的环境变量来指定编译目标平台和架构,并在对应的平台上进行编译。最终生成的二进制文件会保存在“binaries”文件夹下。
最后,我们需要将脚本添加到Github仓库的Actions中,实现在发布新版本时自动触发编译和生成二进制文件的功能。
以Ubuntu平台为例,编辑“.github/workflows/release.yml”文件,添加以下内容:
name: Release
on:
release:
types: [created]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: ^1.16
- name: Build and generate binaries
run: |
chmod +x build.sh
./build.sh
- name: Upload binaries
uses: actions/upload-artifact@v2
with:
name: binaries
path: binaries/
在这个文件中,我们定义了一个名为“Release”的流程,指定了在“release created”事件触发时执行。在“jobs”的部分,创建了一个名为“build”的工作流,指定了运行该工作流的平台(当前为Ubuntu),其中步骤包括对代码仓库的检出、Go语言环境的设置、运行脚本文件、上传生成的二进制文件等步骤。
以上就是Golang项目在Github上创建release后自动生成二进制文件的完整攻略。具体实现方法可根据实际情况进行调整和修改。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Golang项目在github创建release后自动生成二进制文件的方法 - Python技术站