2017-09-10 17:07:28 -03:00
|
|
|
---
|
|
|
|
title: Introduction
|
|
|
|
---
|
|
|
|
|
2017-09-11 10:13:14 -03:00
|
|
|
[GoReleaser](https://github.com/goreleaser/goreleaser) is a release automation
|
2017-10-01 18:57:52 +02:00
|
|
|
tool for Go projects, the goal is to simplify the build, release and
|
2017-09-11 10:13:14 -03:00
|
|
|
publish steps while providing variant customization options for all steps.
|
2017-09-10 17:07:28 -03:00
|
|
|
|
2017-09-11 10:13:14 -03:00
|
|
|
GoReleaser is built for CI tools; you only need to
|
|
|
|
[download and execute it](#ci_integration) in your build script.
|
|
|
|
You can [customize](#customization) your release process by
|
|
|
|
creating a `.goreleaser.yml` file.
|
2017-09-10 17:07:28 -03:00
|
|
|
|
|
|
|
The idea started with a
|
|
|
|
[simple shell script](https://github.com/goreleaser/old-go-releaser),
|
|
|
|
but it quickly became more complex and I also wanted to publish binaries via
|
2017-10-01 18:57:52 +02:00
|
|
|
Homebrew taps, which would have made the script even more hacky, so I let go of
|
2017-09-10 17:07:28 -03:00
|
|
|
that and rewrote the whole thing in Go.
|
2017-10-11 11:17:33 +02:00
|
|
|
|
|
|
|
## Installing Goreleaser
|
|
|
|
|
|
|
|
There are three ways to get going.
|
|
|
|
|
|
|
|
1. Install Goreleaser via go get (`goreleaser` command will be globally available) `go get github.com/goreleaser/goreleaser`
|
|
|
|
2. On a Mac use [Homebrew](https://github.com/goreleaser/homebrew-tap).
|
|
|
|
3. Install directly [from the binaries](https://github.com/goreleaser/goreleaser/releases/latest).
|