As developers, it is part of our job to build tools to make our life easier, usually through automation of every kind of action. My first option when hosting an application is Heroku, but there are sometimes when this is not an option. Since I love that kind of easiness for deploying software, I built my own deploy tool, that works much like Heroku’s.
This presentation covers the creation of an automation tool for deploying your software in a simple way, similar to deploying to Heroku. I’ll explain how to use Docker to version control each deploy, how to use a Docker Registry to upload containers. After that, I’ll show to wrap everything in simple Ruby CLI script, capable of deploying a sample application to a remote host, and some other extra commands for rolling back to previous versions, attaching logs and tracking which application version is running.