2012-03-11 1 views
3

Suis après un tutoriel sympa here et ça m'a vraiment aidé à envelopper certaines choses. Rails apache et rvm fonctionnent tous très bien ensemble. J'ai presque fini mais je suis coincé sur la dernière partie.Problèmes de déploiement avec capistrano

Fondamentalement, j'ai le fichier deploy semblable à ce qu'il a, mais ne peux pas l'air de déboguer ce qu'il recherche for.The fichier deploy.rb ressemble à ceci:

#RVM Bootstrap 
$:.unshift(File.expand_path('./lib',ENV['rvm_path'])) 

require 'rvm/capistrano' 
set :rvm_ruby_string, '1.9.2-p318' 


#bundler bootstrap 
require 'bundler/capistrano' 

#main details 
set :application , "test" 
role :web, "test" 
role :app, "test" 
role :db, "test", :primary => true 

#server Details 
default_run_options[:pty] = true 
ssh_options[:forward_agent] = true 
set :deploy_to, "/var/www/test/" 
set :deploy_via, :remote_cache 
set :user, "passenger" 
set :use_sudo, false 


# repo details 
set :scm, :git 
set :scm_username, "passenger" 
set :repository, "[email protected]:test.git" 
set :branch, "master" 
set :git_enable_submodules, 1 

# tasks 
namespace :deploy do 
    task :start, :roles => :app do 
    run "touch #{current_path}/tmp/restart.txt" 
    end 

    task :stop, :roles => :app do 
    # Do nothing. 
    end 
    desc "Restart Application" 
    task :restart, :roles => :app do 
    run "touch #{current_path}/tmp/restart.txt" 
    end 
end 

Lorsque je tente de déployer l'application avec Capistrano avec deploy cap: la configuration je reçois l'erreur suivante:

* executing `deploy:setup' 
    * executing "mkdir -p /var/www/test/ /var/www/test/releases /var/www/test/shared /var/www/test/shared/system /var/www/test/shared/log /var/www/test/shared/pids" 
    servers: ["test"] 
connection failed for: test (SocketError: getaddrinfo: Name or service not known) 

Je l'ai bricolé avec un peu. Rails webrick n'a aucun problème à démarrer l'application rails, donc ça doit être quelque chose à voir avec le déploiement sur Apache. Une chose à noter est que le nom de l'application "app" (parce que le test est réservé dans les rails) et le nom de domaine est "test". Cette différence pourrait causer des problèmes, mais j'ai peu ou pas d'expérience, donc je ne suis pas sûr. Est-ce que n'importe qui peut me diriger où déboguer ou ce que ce pourrait être?

Répondre

6

Rôle Web, l'application et la base de données doivent être l'URL ou l'adresse IP du serveur sur lequel vous déployez. Quelque chose comme ceci:

task :staging do 
    set :rails_env, 'staging' 
    role :app, "example.com" 
    role :web, "example.com" 
    role :db, "example.com", :primary => true 
end 
+0

est une machine locale donc je devinerais localhost – OVERTONE

+0

Donner localhost un tir. Pourquoi déployez-vous sur votre propre machine? Juste pour tester capistrano? – JohnColvin

+0

Juste pour tester ruby ​​en général. Capistrano faisait juste partie du tutoriel. C'est un vieux portable avec 256 Mo de RAM et j'ai décidé que je voulais construire un serveur Ruby dessus. – OVERTONE

Questions connexes