0

我正在尝试使用 .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
4

0 回答 0