Authored by Primate

A rather awesome, informative
and witty blog about all things web

How Capistrano Stole My Heart And Changed My Life

Cap my_heart deploy

I've never rolling back this deployment

I think I’m in love with Capistrano. Not the sort of whimsical, existential love that you read about in poems or hear about in pop songs and is so weak and flippant that it diminishes rapidly over time. No, I’m talking about a real, hard, meaty love that oozes from the very fiber of your being. It’s the sort of love that a mother feels for her children or a lumberjack feels for his axe. Yes, Capistrano is my perfectly crafted tool and I love it so.

It’s not an altruistic love either but rather a selfish one, deeply rooted entirely in what Capistrano can do for me and how it can make my working life better. And oh my, how well it does that. No more needing to spend four hours putting live large updates to web sites. No more accidentally breaking sites by forgetting a file. No more sweaty palms and nervous laughter as files and databases are manually copied. No more screams of agony as you discover a previous updated was neglected from being input into version control.

For those of you that are unfamiliar with it, Capistrano is a tool for deploying web applications directly from source control to servers. It works with a variety of platforms but Ruby on Rails and GitHub are best. You set it up, you configure it, you develop locally, you use a single command to deploy straight from Git to a server. Hook up your RoR DB migrations and your laughing all the way to Happy Land.

Want to test out performance or show a client your work on a staging server? Cap staging deploy. Want to go live? Cap production deploy. Oh oh, made a mistake? Cap production deploy:rollback. Want to deploy a specific revision from three months ago onto the production server so you can test something or just because you feel like it? Cap -S revision=3f30b6de3c55a8347e5f3de3b43193591e6c7322 staging deploy.

God it’s beautiful.

I believe in human error. I don’t believe that elaborate manual processes work. People are lazy, people are forgetful, people have bad days and shouldn’t be relied upon. We live in a world where process that are complex and confusing can be automated and web deployment is no exception. It’s a potentially complicated and dangerous process yet one that can – and should be – be banished to nothing more than a footnote task, an afterthought, a final, minor step at the end of a long and exciting creation process. It shouldn’t be painful and it shouldn’t create problems. Ever.

So use Capistrano and change your workflow for the better. You won’t regret it.

If you liked this article then why not subscribe to our RSS feed.

Author: Gordon McLachlan

Gordon is uncomfortably good looking.

Tags

,

Comments

Showing 5 Comments

Leave a comment
  1. Nick Hoffman November 24, 2011 at 6:37 pm

    Damn straight, Gordon! Capistrano’s so incredibly handy, and most of the time, easy to use.

    Did you know that you can configure things like dependencies, to ensure that the target servers have specific files, gems, or packages installed? Eg:
    http://mislav.uniqpath.com/rails/specify-your-dependencies-with-capistrano/

    • Gordon November 25, 2011 at 12:18 pm

      You can configure dependencies? Oh my, oh my. I think I need a moment alone…

  2. Noreen March 12, 2016 at 8:08 pm

    It’s amazing designed for me to have a web page, which is useful designed for my experience.

    thanks admin

  3. home December 23, 2016 at 11:46 am

    mtvlbvwdfpocbjffnvpwctgtbhpmbcyxvuamxnsalucwwsfmypdqzujmic

  4. Photoshop Tutorial March 13, 2017 at 6:07 am

    …Additional Information ca be found here

    [...]you make blogging glance[...]

Leave a Reply