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:
parent
93d4f7e390
commit
4330f449e8
25
www/docs/how-it-works.md
Normal file
25
www/docs/how-it-works.md
Normal 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.
|
@ -49,6 +49,7 @@ nav:
|
||||
- intro.md
|
||||
- install.md
|
||||
- quick-start.md
|
||||
- how-it-works.md
|
||||
- Limitations:
|
||||
- limitations/cgo.md
|
||||
- limitations/semver.md
|
||||
|
Loading…
x
Reference in New Issue
Block a user