Today I learned how to automate GitLab releases properly. To create GitLab releases automatically, GitLab provides a CLI, the
releases-cli, which can be used to automate releases with just a few parameters using the
.gitlab-ci.yml of your project. With some good rules you can make sure that your releases are either only triggered by schedules or only run after manual interaction. The former is useful when you want to provide own version numbers and use SemVer properly, the latter is useful if you want to make sure that the latest master is properly tagged but only released to production after manual inspection.
I read about it in the docs quite some time ago, but today I decided to release monthly versions of my infrastructure repository. The idea behind the monthly releases is to see the progress and simplify updates for people who don’t want to keep up with all changes I make on a day-to-day basis. A first version of how they work can be found in the repository.