1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-17 20:47:50 +02:00

docs: how it works

first draft, this shall be improved over time

closes #1315
This commit is contained in:
Carlos A Becker 2021-11-12 00:58:06 -03:00
parent 93d4f7e390
commit 4330f449e8
No known key found for this signature in database
GPG Key ID: E61E2F7DC14AB940
2 changed files with 26 additions and 0 deletions

25
www/docs/how-it-works.md Normal file
View File

@ -0,0 +1,25 @@
# How it works
GoReleaser goal is to automate most of the boring work you'll had while releasing software.
Ideally, using sensible defaults and making the most common usecases easy.
GoReleaser expects a couple of things:
- a `.goreleaser.yml` file with the configuration (see the [customization section](/customization) for more info)
- a clean working tree
- a SemVer-compatible version (e.g. `10.21.34-something`)
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/) for details).
If any of the previous steps fails, the next steps will not run.

View File

@ -49,6 +49,7 @@ nav:
- intro.md
- install.md
- quick-start.md
- how-it-works.md
- Limitations:
- limitations/cgo.md
- limitations/semver.md