これを使ってみてください
cap production deploy:cold
そのためのスクリプトは次のとおりです。
set :stages, %w(production staging) #various environments
load "deploy/assets" #precompile all the css, js and images... before deployment..
require "bundler/capistrano" # install all the new missing plugins...
require 'capistrano/ext/multistage' # deploy on all the servers..
require 'delayed/recipes' # load this for delayed job..
require "rvm/capistrano" # if you are using rvm on your server..
require './config/boot'
require 'airbrake/capistrano' # using airbrake in your application for crash notifications..
require 'thinking_sphinx/deploy/capistrano' # using thnking sphinx in your application
require 'whenever/capistrano' # using whenever for cron jobs..
before "deploy:update_code", "thinking_sphinx:stop" # stop the serch engine before updating the code..
after "deploy:update_code", "thinking_sphinx:rebuild" #rebuild the search engine configure and start the search engine..
set :delayed_job_args, "-n 2" # number of delayed job workers
before "deploy:update_code", "delayed_job:stop" # stop the previous deployed job workers...
after "deploy:start", "delayed_job:start" #start the delayed job
after "deploy:restart", "delayed_job:restart" # restart it..
after "deploy:update", "deploy:cleanup" #clean up temp files etc.
set :rvm_ruby_string, '1.9.3' # ruby version you are using...
set :rvm_type, :user
set :whenever_environment, defer { stage } # whenever gem for cron jobs...
server "xx.xx.xx.xx", :app, :web, :db, :primary => true #ip of the server
set(:application) { "my_cool_project" }
set (:deploy_to) { "/home/me/#{application}/#{stage}" }
set :user, 'my_awesome_deployer'
set :keep_releases, 3
set :repository, "git_repo_url"
set :use_sudo, false
set :scm, :git
default_run_options[:pty] = true
ssh_options[:forward_agent] = false
set :deploy_via, :remote_cache
set :git_shallow_clone, 1
set :git_enable_submodules, 1
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
end