GoReleaser Pro
GoReleaser Pro is a paid, closed-source GoReleaser distribution with some additional features:
- Export OpenTelemetry traces of your releases to your own collector (Enterprise plan);
- Run in air-gapped environments with offline licenses (Business and Enterprise plans);
- Verify published release assets by re-downloading them and running your own checks;
- Create macOS installers (
.pkg); - Create Windows installers (
.exe) with NSIS; - Smart SemVer tag sorting;
- Publish to NPM registries;
- Native sign and notarize macOS App Bundles, Disk Images, and Installers;
- Use AI to improve/format your release notes;
- Further filter artifacts with
ifstatements; - Create macOS App Bundles (
.app); - Easily create
alpine,apt, andyumrepositories with the CloudSmith integration; - Have global defaults for homepage, description, etc;
- Run hooks before publishing artifacts;
- Cross publish (e.g. releases to GitLab, pushes Homebrew Tap to GitHub);
- Publish versioned Homebrew Casks and Formulas;
- Keep DockerHub image descriptions up to date;
- Create macOS disk images (
.dmg); - Create Windows installers (
.msi) with msitools or WiX; - Use
goreleaser release --single-targetto build the whole pipeline for a single architecture locally; - Check boxes in pull request templates;
- Template entire files and add them to the release. You can also template files that will be included in archives, packages, Docker images, etc…;
- Use the
.Artifactstemplate variable to build more powerful customizations; - Use extra template fields and functions;
- Upload to multiple Artifactory and HTTP server instances;
- Split and merge builds to speed up your release by splitting work, use CGO, or run platform-specific code;
- More changelog options: Filter commits by path & subgroups, group dividers;
- Have custom before and after hooks for archives;
- Prepare a release with
goreleaser release --prepare, publish and announce it later withgoreleaser publishandgoreleaser announce, or withgoreleaser continue; - Preview and test your next release’s change log with
goreleaser changelog; - Continuously release nightly builds;
- Import pre-built binaries with the
prebuiltbuilder; - Rootless build Docker images and manifests with Podman;
- Easily create
apt,yum, and alpine repositories with the gemfury.io integration; - Reuse configuration files with the include keyword;
- Run commands after the release with global after hooks;
- Use GoReleaser within your monorepo;
- Create custom template variables (goes well with includes).
Pricing
Tip
Save up to 8% with yearly billing. All prices are in USD.
Using GoReleaser Pro
Once you buy a subscription, you’ll get a license key.
GoReleaser Pro is a separate binary, so install it first — see the
install options.
Then pass your license key with the --key flag or the GORELEASER_KEY
environment variable.
If you use the GitHub Action, set the distribution option to goreleaser-pro.
Check the GitHub Actions documentation for more
details.
The getting started notes walk through the whole setup.
Offline licenses
If you run GoReleaser in an environment without internet access (air-gapped), you can export an offline license and use it instead of the regular key.
Offline licenses are verified locally — no network calls are made during verification.
Exporting an offline license:
goreleaser license-export --key "your-license-key" -o goreleaser.keyThis contacts the GoReleaser signing server, verifies your subscription, and
writes a signed license blob to the given file.
You can also export to STDOUT with -o -.
Using an offline license:
Set GORELEASER_KEY to the contents of the exported file:
export GORELEASER_KEY="$(cat goreleaser.key)"
goreleaser releaseGoReleaser will automatically detect the offline license and verify it locally.
Warning
Offline licenses expire based on your billing cycle (at most 90 days). You will need to re-export before expiry.
Note
Offline licenses are available on the Business and Enterprise plans.
Fallback keys
The --key flag can be set multiple times to provide fallbacks. GoReleaser
tries each key in order and uses the first one that validates.
This is useful, for example, to provide an offline license key and fall back to the regular online key if the first one fails:
goreleaser release --key goreleaser.key --key "your-license-key"If no --key flag is provided, GoReleaser falls back to the GORELEASER_KEY
environment variable.
Road map
We don’t have a properly organized public road map, but we are always open to suggestions!
Once you subscribe, feel free to email me with your suggestions and ideas.
Sponsors & discounts
- Prices may increase as we keep adding more pro-only features, so lock in your rate now;
- If you sponsor either the project or any of its developers, you can ask for a discount!
Enterprise support
We can also provide enterprise support contracts, with proper SLAs and help designing and updating your release pipelines. If this sounds interesting to you, feel free to contact us.
EULA
Please, make sure you read and agree with our EULA.
✨✨ Thanks for your support! ✨✨