Capistrano for non-rubyist
Upcoming SlideShare
Loading in...5

Capistrano for non-rubyist






Total Views
Views on SlideShare
Embed Views



1 Embed 3 3



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Capistrano for non-rubyist Capistrano for non-rubyist Presentation Transcript

  • CAPISTRANO for non-Rubyists
  • who we are Dimitris Tsironis Founder at Geembo, UI designer & huge geek, who loves good design and french fries, as much as good indentation in a stylesheet. Follow him @tsironakos and @geemboHQ Dr. John Pagonis Dr. John Pagonis is onto something with Missum these days. You can follow him at @JohnPagonis and @MissumApp
  • WHAT’S THE PROBLEM? deploys can be a real mess mistakes could happen very easily you don’t mess with the production you’re actually delaying bug fixes, new features etc.
  • one-click deploys! (well, almost)
  • is a language agnostic tool for remote applicationadministration tasksprovisioning of infrastructure better handledwith other tools, eg. Chef, Puppet, Babushkait fits well with deploying web-appsheavily used by Rails communityit’s for sysadmins and devops guys
  • how it works under the bonnet
  • philosophy it runs on your computer connects to the server over ssh there is no Capistrano server or sth like that automates the tasks you would manually do with command-line
  • philosophy part ii uses a Ruby-based DSL for task automation there are already ready-to-use tasks cap shell offers an interactive prompt for adhoc commands cap shell sessions are cached and can be reused
  • built-in tasks It ships with plenty of stuff, by default
  • ready-to-use recipes You can find plenty on Github Ruby setup & RubyGems management Apache & Phusion Passenger Aptitude management MongoDB and much more!
  • custom tasks Tailor-made Capistrano tasks are easy. It’s all Ruby and Rake-like tasks, after all.
  • how to set it up prepare for the battle
  • set it up you need a Capfile in the root of the project then, you can execute capistrano tasks anywhere in your project’s folder, by running: cap <task name>
  • rails-less deploy example
  • capify Capify is a file generator for your project usually used with Rails project but it works with other projects in general, it can be enhanced to work with other structures
  • capify One command to generate the files Files you need Capfile - basic Capistrano file in root of the project config/deploy.rb - here’s where you write custom tasks
  • production or staging config/deploy/production.rb config/deploy/staging.rb
  • roles allow you to write capistrano tasks that only apply to certain servers then you can do something like this
  • configuration example config/deploy.rb
  • custom tasks example config/deploy.rb
  • RAILS-specific magic tasks for Ruby on Rails only
  • asset precompile PROBLEM Asset precompile can be slow. It could take several minutes that we could use to make a coffee or watch some cats gifs
  • asset precompile solution Skip precompile, if it isn’t necessary “The ability to destroy a planet is insignificant next to the power of Git” --a tech-savvy Darth Vader
  • rails-specific magic config/deploy.rbSource: StackOverflow of course!
  • RESOURCES Deploying with Capistrano - Github Help Capistrano Wiki Capistrano Multistage extension Capistrano Handbook - still immature index.markdown Capistrano Google Group
  • thank you!@JohnPagonis @tsironakos@geemboHQ