www/content/customization/_index.md
GoReleaser can be customized by tweaking a .goreleaser.yaml1
file.
Run goreleaser init to generate an example config, or start from scratch.
Run goreleaser check to verify your config: it tells you whether you're using
deprecated or invalid options.
GoReleaser publishes a JSON Schema file, which you can use to get better editor support:
{{< tabs >}}
{{< tab name="OSS" >}}
https://goreleaser.com/static/schema.json
You can also reference it from your config file by adding a comment like the following:
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
{{< /tab >}} {{< tab name="Pro" >}}
https://goreleaser.com/static/schema-pro.json
You can also reference it from your config file by adding a comment like the following:
# yaml-language-server: $schema=https://goreleaser.com/static/schema-pro.json
{{< /tab >}} {{< /tabs >}}
To generate the schema for the exact version you run, use the
goreleaser jsonschema command.
You can pin the version by getting the schema from the GitHub tag, for example,
for __VERSION__ (latest):
{{< tabs >}}
{{< tab name="OSS" >}}
https://raw.githubusercontent.com/goreleaser/goreleaser/__VERSION__/www/static/schema.json
{{< /tab >}} {{< tab name="Pro" >}}
https://raw.githubusercontent.com/goreleaser/goreleaser/__VERSION__/www/static/schema-pro.json
{{< /tab >}} {{< /tabs >}}
While most of the documentation refers to the .goreleaser.yaml filename
for simplicity, a few different variants of it are actually accepted.
In order of precedence:
.config/goreleaser.yml.config/goreleaser.yaml.goreleaser.yml.goreleaser.yamlgoreleaser.ymlgoreleaser.yaml