Capistrano::Configuration.instance.load do set :unicorn_binary, "bundle exec unicorn" set :unicorn_config, "#{current_path}/config/unicorn.production.rb" set :unicorn_pid, "#{current_path}/tmp/pids/unicorn.pid" namespace :deploy do task :start, :roles => :app, :except => { :no_release => true } do run "cd #{current_path} && #{try_sudo} #{unicorn_binary} -c #{unicorn_config} -E #{rails_env} -D" end task :stop, :roles => :app, :except => { :no_release => true } do run "if [ -f #{unicorn_pid} ]; then #{try_sudo} kill `cat #{unicorn_pid}`; fi" end task :graceful_stop, :roles => :app, :except => { :no_release => true } do run "#{try_sudo} kill -s QUIT `cat #{unicorn_pid}`" end task :restart, :roles => :app, :except => { :no_release => true } do stop start end end end