1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-01-06 03:13:48 +02:00
goreleaser/www/docs/how-it-works.md
Carlos Alexandro Becker b7218b0ab0
docs: fix broken link
2023-09-29 00:49:02 +00:00

30 lines
1.0 KiB
Markdown

# How it works
GoReleaser's goal is to automate most of the boring work you'll have while
releasing software, ideally using sensible defaults and making the most common
use cases easy.
GoReleaser expects a couple of things:
- a `.goreleaser.yaml` file with the configuration (see the
[customization section](./customization/index.md) for more info)
- a clean working tree
- a SemVer-compatible version (e.g. `10.21.34-prerelease+buildmeta`)
And that's it.
## What happens when you release
A GoReleaser run is split into 4 major steps:
- **defaulting**: configures sensible defaults for each step
- **building**: builds the binaries, archives, packages, Docker images, etc
- **publishing**: publishes the release to the configured SCM, Docker
registries, blob storages...
- **announcing**: announces your release to the configured channels
Some steps might be skipped with `--skip-foo`-like flags (check the
[command line docs](./cmd/goreleaser.md) for details).
If any of the previous steps fails, the next steps will not run.