2017-09-10 22:07:28 +02:00
|
|
|
---
|
|
|
|
title: Introduction
|
2018-04-25 07:20:12 +02:00
|
|
|
weight: 1
|
|
|
|
menu: true
|
2017-09-10 22:07:28 +02:00
|
|
|
---
|
|
|
|
|
2017-09-11 15:13:14 +02: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 15:13:14 +02:00
|
|
|
publish steps while providing variant customization options for all steps.
|
2017-09-10 22:07:28 +02:00
|
|
|
|
2017-09-11 15:13:14 +02: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 22:07:28 +02: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 22:07:28 +02:00
|
|
|
that and rewrote the whole thing in Go.
|
2017-10-11 11:17:33 +02:00
|
|
|
|
|
|
|
## Installing Goreleaser
|
|
|
|
|
2017-12-10 19:17:29 +02:00
|
|
|
There are three ways to get going install GoReleaser:
|
2017-10-11 11:17:33 +02:00
|
|
|
|
2017-12-10 19:17:29 +02:00
|
|
|
### Using homebrew
|
|
|
|
|
|
|
|
```sh
|
|
|
|
brew install goreleaser/tap/goreleaser
|
|
|
|
```
|
|
|
|
|
2018-02-12 19:43:19 +02:00
|
|
|
### Using Scoop
|
|
|
|
|
|
|
|
```sh
|
2018-02-12 22:50:03 +02:00
|
|
|
scoop bucket add goreleaser https://github.com/goreleaser/scoop-bucket.git
|
2018-02-12 19:43:19 +02:00
|
|
|
scoop install goreleaser
|
|
|
|
```
|
|
|
|
|
2017-12-10 19:18:40 +02:00
|
|
|
> Check the [tap source](https://github.com/goreleaser/homebrew-tap) for
|
|
|
|
> more details.
|
2017-12-10 19:17:29 +02:00
|
|
|
|
|
|
|
## Manually
|
|
|
|
|
|
|
|
Download your preferred flavor from the [releases page](https://github.com/goreleaser/goreleaser/releases/latest) and install
|
|
|
|
manually.
|
2018-03-01 02:03:31 +02:00
|
|
|
|
|
|
|
### Using go get
|
|
|
|
|
|
|
|
Note: this method requires Go 1.10+.
|
|
|
|
|
|
|
|
```console
|
2018-05-14 14:56:37 +02:00
|
|
|
$ go get -d github.com/goreleaser/goreleaser
|
|
|
|
$ cd $GOPATH/src/github.com/goreleaser/goreleaser
|
|
|
|
$ dep ensure -vendor-only
|
2018-06-05 19:11:01 +02:00
|
|
|
$ make setup build
|
2018-03-01 02:03:31 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
It is recommended to also run `dep ensure` to make sure that the dependencies
|
|
|
|
are in the correct versions.
|