Release tools with goreleaser

I’m writing most of my own tools in go. Sometime ago I found a tool called goreleaser which automates the release process of software written in go. goreleaser is pretty well documented, therefore this is just a quick overview how I use it. It will do the following things for you: Generate a changelog with the latest commit since the last release. Build artifacts for different architectures (Linux/Mac/Windows). Create a GitHub/GitLab release and attach changelog and artifacts....

March 31, 2021 · 2 min · André Sterba

Blog deployment with GitLab CI

As stated earlier I use a combination of technologies to run this blog. This blog is created with hugo (a static site generator) and uses the papermod theme. Additional technologies that are used: GitLab as git remote GitLab CI to build container images (development and production) Docker to run the images (development on my home server and production on a machine on the public internet) Watchtower to check for new images every ~5 minutes Caddy to handle TLS certificates (only for production) A VM on Hetzner Cloud used as a host for multiple containers GitLab At first the development and production hosts need access to the container registry....

February 13, 2021 · 6 min · André Sterba