Goreleaser自动化发布设置Skill goreleaser-setup

这是一个用于自动化Go语言项目构建、打包和发布的技能。它通过配置goreleaser工具,实现跨平台(Linux、Windows、macOS)交叉编译Go应用,自动生成压缩包和校验文件,管理更新日志,并可集成到Homebrew等包管理器进行发布。关键词:Go语言,自动化发布,交叉编译,CI/CD,DevOps,goreleaser,二进制分发,包管理。

DevOps 0 次安装 0 次浏览 更新于 2/23/2026

name: goreleaser-setup description: 为Go发布自动化设置goreleaser,支持交叉编译和发布。 allowed-tools: Read, Write, Edit, Bash, Glob, Grep

Goreleaser 设置

为Go发布自动化设置goreleaser。

生成模式

# .goreleaser.yaml
version: 2
builds:
  - env: [CGO_ENABLED=0]
    goos: [linux, windows, darwin]
    goarch: [amd64, arm64]
    ldflags:
      - -s -w -X main.version={{.Version}}

archives:
  - format: tar.gz
    format_overrides:
      - goos: windows
        format: zip

checksum:
  name_template: 'checksums.txt'

changelog:
  sort: asc
  filters:
    exclude: ['^docs:', '^test:', '^chore:']

brews:
  - repository:
      owner: myuser
      name: homebrew-tap
    homepage: https://github.com/myuser/myapp
    description: 我的CLI应用程序

目标流程

  • cli-二进制文件分发
  • 包管理器发布