首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用无法识别、无效或不合适的gon - bundle格式的goreleaser签名

使用无法识别、无效或不合适的gon - bundle格式的goreleaser签名
EN

Stack Overflow用户
提问于 2021-07-16 00:42:51
回答 1查看 41关注 0票数 1

我正在尝试使用goreleaser来签署我的golang --并最终使用Homebrew发布。但这将需要使用Apple Developer ID签名才能分发到MacOs。

您是否在使用gon时发现了以下错误并进行了修复?

来自here的yaml示例

代码语言:javascript
复制
# This is an example .goreleaser.yml file with some sane defaults.
# Make sure to check the documentation at http://goreleaser.com
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:
- binary: foo
  id: foo
  goos:
  - linux
  goarch:
  - amd64
# notice that we need a separated build for the MacOS binary only:
- binary: foo
  id: appbrew-macos
  goos:
  - darwin
  goarch:
  - amd64
  hooks:
    post: gon gon.hcl

gon.hcl文件

代码语言:javascript
复制
# The path follows a pattern
# ./dist/BUILD-ID_TARGET/BINARY-NAME

source = ["."]
bundle_id = "com.mydomain.mybrew"

apple_id {
    username = "<my_developer_id@application.com>"
    password = "@keychain:developer_id_application"
}

sign {
  application_identity = "Developer ID Application: my name (452534542)"
}

我可以使用以下命令验证是否检索到了密码:

代码语言:javascript
复制
security find-generic-password -w -s 'developer_id_application' -a '<my_developer_id@application.com>'

错误:

代码语言:javascript
复制
   • archives         
      • creating                  archive=dist/appbrew_0.1.19_Darwin_x86_64.tar.gz
      • creating                  archive=dist/appbrew_0.1.19_Darwin_arm64.tar.gz
      • creating                  archive=dist/appbrew_0.1.19_Linux_i386.tar.gz
      • creating                  archive=dist/appbrew_0.1.19_Linux_x86_64.tar.gz
      • creating                  archive=dist/appbrew_0.1.19_Linux_arm64.tar.gz
   • creating source archive
   • linux packages   
   • snapcraft packages
   • calculating checksums
      • checksumming              file=appbrew_0.1.19_Linux_arm64.tar.gz
      • checksumming              file=appbrew_0.1.19_Darwin_arm64.tar.gz
      • checksumming              file=appbrew_0.1.19_Linux_x86_64.tar.gz
      • checksumming              file=appbrew_0.1.19_Darwin_x86_64.tar.gz
      • checksumming              file=appbrew_0.1.19_Linux_i386.tar.gz
   • signing artifacts
      • signing                   cmd=[gon gon.hcl]
      • ==> ✏️  Signing files...
 cmd=gon
      • ❗️ Error signing files:

error signing:

.: bundle format unrecognized, invalid, or unsuitable

 cmd=gon
   ⨯ release failed after 3.49s error=sign: gon failed
EN

回答 1

Stack Overflow用户

发布于 2021-07-28 10:32:24

你的配置应该是这样的:

代码语言:javascript
复制
builds:
- binary: foo
  id: foo
  goos:
  - linux
  - windows
  goarch:
  - amd64
# separated build for macos only
- binary: foo
  id: foo-macos
  goos:
  - darwin
  goarch:
  - amd64
signs:
  - signature: "${artifact}.dmg"
    ids:
    - foo-macos
    cmd: gon
    args:
    - gon.hcl
    artifacts: all

注意,签名是在signs步骤中完成的,而不是像您的配置那样在builds中完成。

有关更多信息,请访问Gon's repository

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68397720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档