github.com/fitzix/goreleaser@v0.92.0/www/content/introduction.md (about) 1 --- 2 title: Introduction 3 weight: 1 4 menu: true 5 --- 6 7 [GoReleaser](https://github.com/goreleaser/goreleaser) is a release automation 8 tool for Go projects, the goal is to simplify the build, release and 9 publish steps while providing variant customization options for all steps. 10 11 GoReleaser is built for CI tools; you only need to 12 [download and execute it](#ci_integration) in your build script. 13 You can [customize](#Customization) your release process by 14 creating a `.goreleaser.yml` file. 15 16 The idea started with a 17 [simple shell script](https://github.com/goreleaser/old-go-releaser), 18 but it quickly became more complex and I also wanted to publish binaries via 19 Homebrew taps, which would have made the script even more hacky, so I let go of 20 that and rewrote the whole thing in Go. 21 22 ## Installing Goreleaser 23 24 There are three ways to get going install GoReleaser: 25 26 ### Using homebrew 27 28 ```sh 29 brew install goreleaser/tap/goreleaser 30 ``` 31 32 ### Using snapcraft 33 34 ```sh 35 snap install goreleaser 36 ``` 37 38 ### Using Scoop 39 40 ```sh 41 scoop bucket add goreleaser https://github.com/goreleaser/scoop-bucket.git 42 scoop install goreleaser 43 ``` 44 45 > Check the [tap source](https://github.com/goreleaser/homebrew-tap) for 46 > more details. 47 48 ### Using Docker 49 50 You can use Docker to do simple releases. Currently, the provided docker 51 image does not provide support for snapcraft. 52 53 ```console 54 $ docker run --rm --privileged \ 55 -v $PWD:/go/src/github.com/user/repo \ 56 -v /var/run/docker.sock:/var/run/docker.sock \ 57 -w /go/src/github.com/user/repo \ 58 -e GITHUB_TOKEN \ 59 -e DOCKER_USERNAME \ 60 -e DOCKER_PASSWORD \ 61 goreleaser/goreleaser release 62 ``` 63 64 Note that the image will almost always have the last stable Go version. 65 66 If you need more things, you are encouraged to have your own image. You can 67 always use GoReleaser's [own Dockerfile][dockerfile] as an example though. 68 69 [dockerfile]: https://github.com/goreleaser/goreleaser/blob/master/Dockerfile 70 71 ## Manually 72 73 Download your preferred flavor from the [releases page](https://github.com/goreleaser/goreleaser/releases/latest) and install 74 manually. 75 76 ### Using go get 77 78 Note: this method requires Go 1.10+. 79 80 ```console 81 $ go get -d github.com/goreleaser/goreleaser 82 $ cd $GOPATH/src/github.com/goreleaser/goreleaser 83 $ dep ensure -vendor-only 84 $ make setup build 85 ``` 86 87 It is recommended to also run `dep ensure` to make sure that the dependencies 88 are in the correct versions.