Today we finally released a stable version of our small tool RMT. RMT (Release Management Tool) is a handy tool that helps releasing software. It allows to create a clean release by running a simple command.

At the beginning your action will probably do the minimum: tagging your code. But with projects getting bigger and more complex, your release process will probably also become more complex, RMT is here to keep things simple. Note that RMT only focus on the release process, then you can deploy with the tool of your choices ( Capistrano, Fabric, …)

At Liip, we have been using this tool for more than a year now, and even if at the beginning some developers were not convinced about its usefulness, most changed their mind now and wouldn't work without it! It helps us to release more often, and in a more confident way.

Basically, you will ask RMT to tag your code and potentially update a CHANGELOG file. But here are some other tasks we usually do at release time:

  • Ensure that the tests are ok
  • Combine and minify the assets
  • Append/update a query string version (like ?v2.1.2) to assets
  • Check if there are new translation keys
  • Auto deploy on specific conditions

The sky is the limit! The good point with RMT is that you can have specific configuration by VCS branch, so you can have a very simple release process for topic branch, a more sophisticated for the main development branch and finally a very safe one for the master branch.

Should you use RMT on your project? That's easy to answer: if you have anywhere a document called “Release instruction”, or if you have a check list of things you have to do before a deployment, the answer is YES!

Hoping that you will find a new companion for your day to day work, we wish you a happy new year!

Project: github.com/liip/RMT


Here is the output of the release process: