From 4719cc03837490ed4bf1b9725d75a686e56e5a6a Mon Sep 17 00:00:00 2001 From: claw0ry Date: Wed, 11 Dec 2024 13:56:52 +0100 Subject: fresh start --- ...ly-release-go-app-with-goreleaser-and-github.md | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 content/posts/automatically-release-go-app-with-goreleaser-and-github.md (limited to 'content/posts/automatically-release-go-app-with-goreleaser-and-github.md') diff --git a/content/posts/automatically-release-go-app-with-goreleaser-and-github.md b/content/posts/automatically-release-go-app-with-goreleaser-and-github.md new file mode 100644 index 0000000..9b9f9e6 --- /dev/null +++ b/content/posts/automatically-release-go-app-with-goreleaser-and-github.md @@ -0,0 +1,40 @@ +--- +title: 'Automatically release Go app with Goreleaser and Github' +description: "We're taking a look at how to automatically release Go applications with Goreleaser and Github" +tags: ['go', 'golang', 'github', 'automation'] +date: 2021-08-24T01:02:53+02:00 +draft: true +--- + +One of the biggest benefits of Go is that you can distribute your application as a single binary and it's pretty simple for Go programmers to install any Go app using `go install`. But most times you also want to provide a way for non-Go users to download your application, so in this post we're going to take a look at how you automatically can publish a new release on Github with GoReleaser that will include your binary. + + + +## What is GoReleaser? + +- brief introduction +- why we need goreleaser +- ease of use + +## Setup our sample project + +- create a new gorelaser-example repo with a small golang app +- add the finished project as another branch +- git clone repo + +## Install GoReleaser locally + +- use brew for macos + +## Create GoReleaser config + +- `goreleaser init` +- change archives format to binary + +## Testing gorelease before activating in prod + +- how to to use the --skip-publish and --snapshot params + +## Add goreleaser to Github Actions workflow + +- only trigger when a new tag is pushed -- cgit v1.2.3