2010-02-11 3 views
2

Je reçois une erreur de port lorsque je tente de déployer mon application via:Rails, Slicehost, Capistrano - Port de déploiement délivre

cap deploy:cold 

L'erreur:

ssh: connect to host domain.com port 22: Connection refused 

Mon deploy.rb (remplacé informations sensibles le cas échéant):

set :user, 'user' 
set :domain, 'domain.com' 
set :application, "App Name" 

# file paths 
set :repository, "[email protected]:git/appname.git" 
set :port, 9728 
set :deploy_to, "/home/ruby/public_html/appname" 

# distribute your applications across servers (the instructions below put them) 
# all on the same server, definied above as 'domain', adjust as necessary 
role :web, domain 
role :app, domain 
role :db, domain, :primary => true 

# you might need to set this if you aren't seeing password prompts 
# default_run_options[:pty] = true 

# As Capistrano executes in a non-interactive mode and therefore doesn't cause 
# any of your shell profile scripts to be run, the following might be needed 
# if (for example) you have locally installed gems or applications. Note: 
# this needs to contain the full values for the variables set, not simply 
# the deltas. 

# miscellaneous options 
set :deploy_via, :remote_cache 
set :scm, :git 
set :branch, 'master' 
set :scm_verbose, true 
set :use_sudo, false 

# task which causes Passenger to initiate a restart 

namespace :deploy do 
    task :restart do 
    run "touch #{current_path}/tmp/restart.txt" 
    end 
end 

# optional task to reconfigure databases 
after "deploy:update_code", :configure_database 
desc "copy database.yml into the current release path" 
task :configure_database, :roles => :app do 
    do_config = "#{deploy_to}/config/database.yml" 
    run "cp #{db_config} #{release_path}/config/database.yml" 
end 

Je comprends l'erreur, mais ne peux pas voir où faire la modification. Je me suis dit: mettre le port, le manipulerait.

Répondre

2

Avez-vous essayé de placer le port dans votre chemin d'accès au référentiel? Quelque chose comme ssh://[email protected]:9728/git/appname.git

Je pense que Capistrano utilise uniquement le port que vous spécifiez dans set :port pour vous connecter à vos serveurs distants.

+0

Modifié pour: set: référentiel, "ssh: //[email protected]: 9728/~/git/appname.git" Mais maintenant j'ai plus d'erreurs! Hehe. Je vais y travailler, et si je suis coincé, je posterai une autre question plus tard. Merci pour votre aide agregoire! – Steve

0

Désolé à l'évidence, mais:

  • Le port réellement ouvert sur le serveur?
  • L'avez-vous changé pour autre chose?
  • Est-il accessible de l'extérieur?
  • Votre pare-feu le bloque-t-il?
+0

Pas de soucis - Je vous remercie de votre aide. Oui, le port était ouvert - je voulais que ce soit loin des recommandations par défaut 22 par hôte. Il est accessible depuis les connexions utilisateur SHH et sudo habituelles. – Steve

2

Voici ce qui fonctionne: vous devez avoir

set :port, port# 
set :repository, "ssh://#{user}@IPAddress:#{port}/~/path/to/git 

Ou essayez aussi: est ici une solution possible. ajouter ssh_options [: port] = port # Peut travailler

-1

s'il vous plaît l'essayer

server "domain:9728", :web, :app, :db 
Questions connexes