Goreleaser
- date
- 2023-09-15 21:23:28
自动编译各种架构的工具。
官网:https://goreleaser.com/intro/
安装:
| go install github.com/goreleaser/goreleaser/v2@latest
|
goreleaser init 创建 .goreleaser.yaml ,常用的如下,然后 goreleaser --snapshot 本地编译。
| version: 2
before:
hooks:
# You may remove this if you don't use go modules.
- go mod tidy
# you may remove this if you don't need go generate
- go generate ./...
builds:
- env:
- CGO_ENABLED=0
targets:
- darwin_amd64
- darwin_arm64
- linux_386
- linux_amd64
- linux_amd64_v3
- linux_arm_5
- linux_arm_6
- linux_arm_7
- linux_arm64
- linux_mips_softfloat
- linux_mips_hardfloat
- linux_mipsle_softfloat
- linux_mipsle_hardfloat
- linux_mips64
- linux_mips64le
- linux_s390x
- linux_riscv64
- freebsd_386
- freebsd_amd64
- windows_386
- windows_amd64
- windows_amd64_v3
- windows_arm64
ldflags:
- "-s -w -X 'main.version={{ .Tag }}'"
gcflags:
- "trimpath=$GOPATH"
asmflags:
- "trimpath=$GOPATH"
archives:
- format: tar.gz
# use zip for windows archives
format_overrides:
- goos: windows
format: zip
changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"
release:
footer: >-
---
Released by [GoReleaser](https://github.com/goreleaser/goreleaser).
|