GoReleaser的配置文件中的几个字段支持模板.
这些字段通常以_template
为后缀,但有时不是。每个部分的文档应明确指出模板可用的字段.
在支持模板的字段上,此字段始终可用:
键 | 描述 |
---|---|
.ProjectName |
项目名称 |
.Version |
正在发布的版本(剥离v 前缀) |
.Tag |
当前的git标签 |
.ShortCommit |
git提交短哈希 |
.FullCommit |
git提交完整哈希 |
.Commit |
git commit hash(不建议使用) |
.GitURL |
git远程网址 |
.Major |
该版本的主要部分 |
.Minor |
版本的次要部分 |
.Patch |
版本的补丁部分 |
.Env |
带有系统环境变量的地图 |
.Date |
RFC3339格式的当前UTC日期 |
.Timestamp |
Unix格式的当前UTC时间 |
在与单个存档(例如,二进制名称)相关的字段上,您能有一些额外的字段:
键 | 描述 |
---|---|
.Os |
GOOS (通常允许更换) |
.Arch |
GOARCH (通常允许更换) |
.Arm |
GOARM (通常允许更换) |
.Binary |
二进制名称 |
.ArtifactName |
存档名称 |
在所有字段中,您都有以下可用功能:
用法 | 描述 |
---|---|
time "01/02/2006" |
指定格式的当前UTC时间 |
使用所有这些字段,您可以按照自己想要的方式组合存档的名称:
example_template: '{{ .ProjectName }}_{{ .Env.USER }}_{{ time "2006" }}'
例如,如果要将go版本添加到某个存档:
foo_template: 'foo_{{ .Env.GOVERSION }}'
然后你可以运行:
GOVERSION_NR=$(go version | awk '{print $3;}') goreleaser
请注意,这些是假设的示例和
foo_template
和example_template
字段不是有效的GoReleaser配置.