I am not very happy with the solution I came up with, but it got a deployment for work and a collector for update.
Here is my updated deploy.rb:
#require "bundler/capistrano" default_run_options[:pty] = true # be sure to change these set :user, 'futureproof' set :domain, 'abunchofletters.co.uk' set :application, 'abunchofletters' # the rest should be good set :repository, "#{user}@#{domain}:git/#{application}.git" set :deploy_to, "/home/#{user}/#{domain}" set :deploy_via, :remote_cache set :shared_path, "/home/#{user}/.gems" set :scm, 'git' set :branch, 'master' set :git_shallow_clone, 1 set :scm_verbose, true set :use_sudo, false server domain, :app, :web role :db, domain, :primary => true namespace :deploy do desc "expand the gems" task :gems, :roles => :web, :except => { :no_release => true } do run "cd #{current_path}; #{shared_path}/bin/bundle unlock" run "cd #{current_path}; nice -19 #{shared_path}/bin/bundle install vendor/" # nice -19 is very important otherwise DH will kill the process! run "cd #{current_path}; #{shared_path}/bin/bundle lock" end task :restart do run "touch #{current_path}/tmp/restart.txt" end end
Task: gems was visible here: http://grigio.org/deploy_rails_3_passenger_apache_dreamhost , although blocking / unblocking packages is now deprecated. I may be able to simply replace with installing / updating the package, but the obsolete one will do today.
Rich
source share