So you just finished your neat little go project and want to distribute it via Github Releases. Fear not! GoReleaser is an amazing tool to get you started with only a few steps.
Requirements:
- Go
- Github Repository
- Github Token
Steps
-
First of all install the latest version of GoReleaser (for example via
go get)go get github.com/goreleaser/goreleaser -
Create your configuration file (
.goreleaser.yml). A basic one looks something like this:# .goreleaser.yml builds: - binary: awesome-project goos: - windows - darwin - linux goarch: - amd64 -
Make sure to create a Github Token and add it as an environment variable as
GITHUB_TOKEN. Find out how to create your Github Tokenexport GITHUB_TOKEN=4a68... -
Make sure to push at least one tag (GoReleaser uses the latest tag of your repository)
git tag -a v0.0.1 -m "Release Test" git push origin v0.0.1 -
Run GoReleaser
goreleaser -
Profit!
You now have your first release for your github repository complete with downloadable versions for multiple plattforms and a Changelog with all your commits since the previous tag.
Conclusion
GoReleaser is an amazing tool which works exceptionally well and was really painless to setup.
Read up on this topic: