我正在尝试使用 .goreleaser.yaml 发布二进制文件。
builds:
- env:
- CGO_ENABLED=0
flags:
- -trimpath
ldflags:
- '-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}'
goos:
- windows
- linux
- darwin
goarch:
- amd64
- '386'
- arm
- arm64
ignore:
- goos: darwin
goarch: '386'
binary: '{{ .ProjectName }}_v{{ .Version }}'
archives:
- format: zip
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
checksum:
name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS'
algorithm: sha256
signs:
- artifacts: checksum
args:
- "--batch"
- "--local-user"
- "${GPG_USER}"
- "${GPG_FINGERPRINT}"
- "--output"
- "${signature}"
- "--detach-sign"
- "${artifact}"
release:
# draft: true
changelog:
skip: true
我使用 gpg 密钥将提交推送到 repo。
问题是当我尝试在 goreleaser 中使用标志时,我得到:
⨯ 138.65 秒后发布失败 error=sign: gpg failed
但是当我试图在我的本地笔记本电脑上运行这个命令时,命令成功完成。
命令是:
gpg --batch ${env.GPG_FINGERPRINT} --output dist/terraform-provider-test_0.0.34_SHA256SUMS.sig --det
ach-sign dist/terraform-provider-test_0.0.34_SHA256SUM