Question

J'essaie de déployer sur une tranche slicehost en utilisant ce fichier config / deploy / production.rb. Je suis désemparé & amp; n'ont pas utilisé capistrano avant maintenant. Voici les étapes que j'ai suivies. Désolé mais je suis complètement nouveau à capistrano. Il continue à me demander mon mot de passe (j'ai configuré SSH sans mot de passe) et renvoie cette erreur:

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

Tout d'abord, il s'agit d'une application "bort" http://github.com/fudgestudios/bort / tree / master

Deuxièmement, j'ai utilisé le joyau ubuntu-machine, détaillé ici:

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, "git@github.com:--------/----------.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
Était-ce utile?

La solution

Je pense que le problème serait soit

  • Impossible de résoudre votre nom d'hôte
  • vous tapez une mauvaise domaine valeur

Juste au cas où, auriez-vous essayé de définir la valeur domaine pour qu'elle corresponde à l'adresse IP de votre serveur?

Autres conseils

"SocketError: getaddrinfo: nom ou service inconnu" implique une sorte de problème de résolution ou de connexion à l'hôte distant. Avez-vous vérifié que vous pouvez vous connecter manuellement?

Une façon de démarrer le débogage des scripts de cap consiste à effectuer vous-même chaque étape du processus. Vous pouvez copier les déclarations directement à partir de la sortie de casquette détaillée. Cela devrait aider à isoler le problème, dans ce cas, où le problème de connexion est (slicehost ?, github ?, les deux?).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top