Rails, Slicehost, Capistrano - Проблемы порта развертывания - PullRequest
2 голосов
/ 11 февраля 2010

Я получаю ошибку порта при попытке развернуть приложение через:

cap deploy:cold

Ошибка:

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

Мой deploy.rb (при необходимости заменил конфиденциальную информацию):

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

# file paths
set :repository,  "user@domain.com: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

Я понимаю ошибку, но не вижу, где внести изменения. Я подумал: установить порт, будет справиться с этим.

Ответы [ 4 ]

2 голосов
/ 11 февраля 2010

Вы пытались поместить порт в путь к хранилищу? Что-то вроде ssh://user@domain.com:9728/git/appname.git

Я думаю, что Capistrano использует только порт, указанный в set :port, для входа на удаленные серверы.

2 голосов
/ 17 сентября 2010

Вот что работает: у вас должно быть

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

Или также попробуйте: Вот возможное исправление. add ssh_options [: port] = port # Может работать

0 голосов
/ 31 января 2013

пожалуйста, попробуйте

server "domain:9728", :web, :app, :db
0 голосов
/ 11 февраля 2010

Извините, чтобы заявить очевидное, но:

  • Действительно ли порт открыт на сервере?
  • Вы изменили это на что-то еще?
  • Доступен ли он снаружи?
  • Ваш брандмауэр блокирует его?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...