On 9/26/07, Jamis Buck <[EMAIL PROTECTED]> wrote: > I suspect you're being bitten by the "put bug" (which is really a bug > in Net::SSH somewhere). Do you have a gateway configured in your cap > recipes anywhere?
Nope, here is our complete cap setup, with urls altered for privacy: I deploy by running cap <target> deploy. e.g., "cap public deploy" for public server, which is where we're having the problem. Capfile: load 'deploy' if respond_to?(:namespace) # cap2 differentiator require 'lib/extensions/mongrel_recipes' load 'config/deploy' config/deploy.rb: set :application, "nexus" set :repository, "http://svn/project_repository/branches/0.5" set :deploy_via, :checkout set :user, "deploy" set(:mongrel_conf) { "#{current_path}/config/mongrel_cluster.yml" } set(:deploy_to) { "/u/apps/#{application}"} task :build do role :web, "buildserver" role :app, "buildserver" role :db, "buildserver" set :application, "nexus_build" set :repository, "http://svn/project_repository/trunk/" set :mongrel_conf, "#{current_path}/config/mongrel_build_cluster.yml" end task :mirror do # this one is an exact copy of the public server role :web, "buildmirror" role :app, "buildmirror" role :db, "buildmirror" end task :public do role :web, "publicserver.outsideourfirewall.com" role :app, "publicserver.outsideourfirewall.com" role :db, "publicserver.outsideourfirewall.com" set :deploy_via, :copy set :copy_strategy, :checkout set :copy_compression, :zip end namespace :deploy do task :migrate do # this is deliberately empty, since we don't do migrations. end end lib/extensions/mongrel_recipes..rb: Capistrano::Configuration.instance(:must_exist).load do depend :remote, :gem, "mongrel_cluster", ">=0.2.1" after "deploy:setup", "mongrel:cluster:setup" set(:mongrel_servers, 3) set(:mongrel_port) { abort 'Please configure the mongrel_port variable before deploying' } set(:mongrel_address, "127.0.0.1") set(:mongrel_environment, "production") set(:mongrel_user) { user } set(:mongrel_group) { user } set(:mongrel_prefix, nil) set(:mongrel_num_procs, 3) set(:mongrel_conf) { File.join(shared_path, 'config', 'mongrel_cluster.yml') } set(:mongrel_startup_file) { File.join('/etc', 'mongrel_cluster', "#{application}.yml") } namespace :mongrel do namespace :cluster do desc <<-DESC Configure Mongrel processes on the app server. This uses the :use_sudo variable to determine whether to use sudo or not. By default, :use_sudo is set to true. DESC task :setup, :roles => :app do argv = [] argv << "mongrel_rails cluster::configure" argv << "-N #{mongrel_servers.to_s}" argv << "-p #{mongrel_port.to_s}" argv << "-e #{mongrel_environment}" argv << "-a #{mongrel_address}" argv << "-c #{current_path}" argv << "-C #{mongrel_conf}" argv << "-n #{mongrel_num_procs}" argv << "--user #{mongrel_user}" if mongrel_user argv << "--group #{mongrel_group}" if mongrel_group argv << "--prefix #{mongrel_prefix}" if mongrel_prefix cmd = argv.join " " # Try to create shared/config sudo "mkdir -p #{File.dirname(mongrel_conf)}" # sudo the command to generate a shared/config/mongrel_cluster.yml sudo cmd # Try to create /etc/mongrel_cluster sudo "mkdir -p #{File.dirname(mongrel_startup_file)}" sudo <<-CMD if [ ! -e #{mongrel_startup_file} ] ; then ln -s #{mongrel_conf} #{mongrel_startup_file} ; fi CMD end desc <<-DESC Start Mongrel processes on the app server. This uses the :use_sudo variable to determine whether to use sudo or not. By default, :use_sudo is set to true. DESC task :start, :roles => :app do sudo "mongrel_rails cluster::start -C #{mongrel_conf}" end desc <<-DESC Restart the Mongrel processes on the app server by starting and stopping the cluster. This uses the :use_sudo variable to determine whether to use sudo or not. By default, :use_sudo is set to true. DESC task :restart, :roles => :app do sudo "mongrel_rails cluster::restart -C #{mongrel_conf}" end desc <<-DESC Stop the Mongrel processes on the app server. This uses the :use_sudo variable to determine whether to use sudo or not. By default, :use_sudo is set to true. DESC task :stop, :roles => :app do sudo "mongrel_rails cluster::stop -f -C #{mongrel_conf}" end desc <<-DESC Apply a new Mongrel configuration. DESC task :reset_config, :roles => :app do mongrel.cluster.stop sudo "rm -f #{mongrel_conf}" mongrel.cluster.setup mongrel.cluster.start end end end # Override standard deploy. namespace :deploy do desc <<-DESC Start the Mongrel processes on the app server by calling mongrel:cluster:start DESC task :start, :roles => :app do mongrel.cluster.start end desc <<-DESC Restart the Mongrel processes on the app server by calling mongrel:cluster:restart DESC task :restart, :roles => :app do mongrel.cluster.restart end desc <<-DESC Stop the Mongrel processes on the app server by calling mongrel:cluster:stop DESC task :stop, :roles => :app do mongrel.cluster.stop end end end --~--~---------~--~----~------------~-------~--~----~ To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/capistrano -~----------~----~----~----~------~----~------~--~---
