Open Source Christmas

Automatic deploy (chatops) with @Rultor

A 1 minute read written by
Eivind Bergstøl
03.12.2019

Previous postNext post

The discussion of an automatic release was started many years ago, and there are several options for how to do this (none mentioned, none forgotten). Then I came across @Rultor by accident on Twitter.

no.bekk.bekkopen:NoCommons is a small library for validating, generating and manipulating data typical for Norwegian domains. SSN, org-nr, names etc. And when maintaining a small, quite static, open source library like this on GitHub, we need a smooth automatic release path that is easy and fast to use when a release has to be published. Maybe I changed my computer since last time and need to restore GPG-keys, or even worse, generate new keys and distribute them. And when time goes by, a new maintainer steps up and needs to release. How was that done again?

@Rultor is an open source robot living on GitHub. Yegor256 is the maintainer of this robot and we all can use it. Just talk to @Rultor in a GitHub issue and it will tell you what to do to get started. This is what I did:

  • Change parent-pom of project to com.jcabi:parent (not necessary, but quite convenient)
  • Encrypt setting.xml, private- and public-key (GPG) with @Rultor and commit them to NoCommons
  • Create .rultor.yml and commit to NoCommons with me as commanders and architect

@Rultor needs write access to the repository to publish tags and GitHub releases, so I added it as a collaborator in GitHub.

Now I can comment this in an issue after merging a PR:

@rultor release, tag=`0.9.0`

no.bekk.bekkopen:nocommons:0.9.0

Win!

So now, let's look at GitHub Actions next…

Read the next post

Read more outside the calendar