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.