Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Tag: v0.3.2
Fetching contributors…

Cannot retrieve contributors at this time

158 lines (101 sloc) 2.759 kB

Capistrano deploy recipes TravisCI Gemnasium

Inspired by

Quickstart with Git and Rails

Add this line to your application's Gemfile:

gem 'capistrano-deploy', :group => :development, :require => false

Create a file named Capfile in your project root directory:

require 'capistrano-deploy'
use_recipes :git, :bundle, :rails

server 'server name or ip address', :web, :app, :db, :primary => true
set :user, 'user for deploy'
set :deploy_to, '/deploy/to/path'
set :repository, 'your git repository'

after 'deploy:update', 'bundle:install'

And then execute:


To setup:

cap deploy:setup

Then when you push some changes to git repository simply run:

cap deploy

Or if you have migrations:

cap deploy:migrations

To look through the changes to be deployed:

cap deploy:pending

If you want to update to a specific commit (e.g. to rollback):

cap deploy COMMIT=foobarbaz

Note: it may be required to run bundle exec cap ... instead of cap ....


Basic usage:

use_recipe :multistage

set :default_stage, :development

stage :development do

stage :production do

You can also pass options that allow setting variables and default stage:

stage :development, :branch => :develop, :default => true
stage :production,  :branch => :master

When branches are specified for stages and git recipe is used it will automatically select stage based on current local branch.


Use recipe:

use_recipe :bundle

And add callback to run bundle install on each deploy:

after 'deploy:update', 'bundle:install'

Rails Assets

Use recipe:

use_recipe :rails_assets

Add callback to precompile assets after update:

after 'deploy:update', 'deploy:assets:precompile'


Use recipe:

use_recipe :passenger

It will automatically do touch tmp/restart.txt on each deploy.


Use recipe:

use_recipe :unicorn

You can setup callback to reload unicorn after deploy is done:

after 'deploy:restart', 'unicorn:reload'


Use recipe:

use_recipe :whenever

To automatically update crontab file:

after 'deploy:restart', 'whenever:update_crontab'

You can also clear crontab file with command:

cap whenever:clear_crontab
Jump to Line
Something went wrong with that request. Please try again.