GoReleaser 根据当前标记,创建 GitHub 版本,上传所有存档,并根据自上一个标记以来的新提交生成更改日志-changelog.
让我们来看看可以定制的release
部分内容:
# .goreleaser.yml
release:
# 要release的存储库。
# 默认值从原始远程URL中提取。
github:
owner: user
name: repo
# 如果设置为true,则不会自动发布该版本。
# 默认值为false。
draft: true
# 如果设置为true,则将发布tag为 预发布版本。
# 默认值为false。
prerelease: true
# 您可以更改GitHub版本的名称。
# 默认是``
name_template: '{{.ProjectName}}-v{{.Version}} {{.Env.USER}}'
# 您可以禁用此管道,将不上传到GitHub
# 默认为false。
disable: true
了解有关命名模板引擎的更多信息.
您可以使用自定义配置文件中changelog
的部分,来修改生成changelog的方式:
# .goreleaser.yml
changelog:
# 可以是asc,desc或empty
# 默认为空
sort: asc
filters:
# 删除与下方列表匹配的commit信息,将不在changelog显示
# 默认为空
exclude:
- '^docs:'
- typo
- (?i)foo
您可以自定义一个包含发行说明的文件,并将其传递给--release-notes=FILE
参数。然后,GoReleaser 将使用您文件的内容,而跳过自己的发行说明生成。您可以使用 Markdown 格式化文件的内容.
在 Unix 系统上,您还可以使用process substitution命令,生成发行说明。即列出自上一个标记以来的所有提交,但跳过以Merge
要么docs
开头的提交,你可以运行这个命令:
$ goreleaser --release-notes <(some_changelog_generator)
您可以使用的,一些更改日志生成器-some_changelog_generator
: