tags:

views:

543

answers:

3

Hello, I'm trying to deploy to a slicehost slice using this config/deploy/production.rb file. I'm clueless & haven't used capistrano before now. Here are the steps I followed. Sorry but I'm completely new to capistrano. It keeps asking for my password (have set up passwordless SSH), and throwing this error:

(SocketError: getaddrinfo: Name or service not known)
connection failed for: ---------.com (Net::SSH::AuthenticationFailed: -----)

First, it's a 'bort' app http://github.com/fudgestudios/bort/tree/master

Second, I used the ubuntu-machine gem, detailed here:

http://suitmymind.github.com/ubuntu-machine/#screencast

config/deploy/production.rb

#############################################################
#   Application
#############################################################

set :application, "---------------"
set :deploy_to, "/var/www/#{application}"

#############################################################
#   Settings
#############################################################

default_run_options[:pty] = true
ssh_options[:forward_agent] = true
set :use_sudo, true
set :scm_verbose, true
set :rails_env, "production" 

#############################################################
#   Servers
#############################################################

set :user, "----------"
set :domain, "--------------------------"
server domain, :app, :web
role :db, domain, :primary => true

#############################################################
#   Git
#############################################################

set :scm, :git
set :branch, "master"
set :scm_user, '---------'
set :scm_passphrase, "----------"
set :repository, "[email protected]:--------/----------.git"
set :deploy_via, :remote_cache

#############################################################
#   Passenger
#############################################################

namespace :deploy do
  desc "Create the database yaml file"
  task :after_update_code do
    db_config = <<-EOF
    production:    
      adapter: mysql
      encoding: utf8
      username: root
      password: ------------
      database: ------------_production
      host: localhost
    EOF

    put db_config, "#{release_path}/config/database.yml"

    #########################################################
    # Uncomment the following to symlink an uploads directory.
    # Just change the paths to whatever you need.
    #########################################################

    desc "Symlink the assets directories"
     task :before_symlink do
       run "mkdir -p #{shared_path}/assets"
       run "ln -nfs #{shared_path}/assets #{release_path}/public/assets"
     end

  end

  # Restart passenger on deploy
  desc "Restarting mod_rails with restart.txt"
  task :restart, :roles => :app, :except => { :no_release => true } do
    run "touch #{current_path}/tmp/restart.txt"
  end

  [:start, :stop].each do |t|
    desc "#{t} task is a no-op with mod_rails"
    task t, :roles => :app do ; end
  end

end
A: 

"SocketError: getaddrinfo: Name or service not known" implies some sort of problem resolving or connecting to the remote host. Have you checked that you can connect manually?

Rob
A: 

One way to start debugging cap scripts is to perform each step of the process yourself. You can copy the statements directly from the verbose cap output. That should help isolate the problem, in this case, where the connection problem is (slicehost?, github?, both?).

Abie
+1  A: 

I think the problem would be either

  • It can't resolve your hostname
  • You typo wrong domain value

Just in case, have you tried to set the domain value to be your server's IP address instead?

Sikachu