Faster Capistrano deployments

“Release early, release often”, a philosophy that emphasizes the importance of early and frequent releases in creating a tight feedback loop. I’ve been trying to push my code to production as often as possible. But I’ve been having a problem with the asset pipeline. From the moment Capistrano hits the deploy:assets:precompile task, it might take … Continue reading Faster Capistrano deployments

Creating Debian packages with checkinstall

Lately I’ve been working on automating my server infrastructure. One of the tasks at hand was to simplify the way I install certain software. For instance, for my web-stack, I compile ruby and nginx manually, so I can compile them using specific parameters. When I started researching this, I got overwhelmed with all different kind … Continue reading Creating Debian packages with checkinstall

Deployments automation with Capistrano

Deployments are a critical phase in any software project. I can still remember the time where I needed to deploy code changes to production using nothing more than FTP to upload all the changed files. Oh boy, the elevated heart rate, logged in on the production server to intervene when something went wrong. From time … Continue reading Deployments automation with Capistrano

Configuration management with Ansible: Playbooks & Execution

In my previous post, I described how you could setup Ansible. At this point, you are able to send commands to your hosts. Although running ad hoc tasks is useful, I won’t be covering that here. If you want to know more about running command line ad hoc tasks check out the detailed examples on … Continue reading Configuration management with Ansible: Playbooks & Execution

Getting started with configuration management: Ansible

Lately I’ve been working on configuration management for my infrastructure. Since I started freelancing, the number of clients have grown and so did my infrastructure. Managing one server isn’t a daunting task, but from the moment you need to expand, things get more serious. At this point, my infrastructure consists of 1 database server, 1 … Continue reading Getting started with configuration management: Ansible

Testing your ruby command-line tools

Creating a command-line app in ruby might be fun, being able to test them is just as important as testing any other web application. But you can do this with Aruba. Aruba is a Cucumber extension for testing command-line applications written in any language. Passing arguments, interacting with the file system, capturing exist codes en mimicking … Continue reading Testing your ruby command-line tools