If you work in scale, If you manage multiple application in multiple environments, If you automate any tasks using Capistrano then try a handy solutions which will improve and extend your workbench.

Real-life scenario

There are many automated tasks in my everyday work. It was crucial to distribute the management of that tasks between not only DevOps anymore. The idea was for distributing small task on the Dev teams as well. One of the most important task is the deployment process of new release of every applications in multiple environments. It requires very high level of permissions and orchestration of many actions by experienced DevOps. As we use Pulsar which is built on top of Capistrano (ruby) we decided to extend that tool with REST interface. It allows us to talk easily over HTTP to our tasks. We do it via Hubot. This simple piece of software lets us to integrate HipChat (our communication channel) with simple BOT. It listens for our commands and trigger actions over pulsar-rest-api into pulsar itself.

Example of "app deployment" via HipChat using Hubot

On the pulsar-rest-api interface it looks like on screenshot

In more details the workflow looks like follows


This project has been funded by cargomedia as open-source (with my contribution).

Where to go from here?

Please go to GitHub repos to find out why should you start using it now!



Related posts