2012-03-11 12 views
3

素敵なチュートリアルhereに従っています。 Railsのapacheとrvmはすべて一緒にうまく動作します。私はほとんど終わりましたが、最後の部分にこだわっています。私はカピストラーノでアプリケーションをデプロイしようとするとcapistranoのデプロイメントに関する問題

#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 

基本的に私は彼が持っているものと同様の展開ファイルを持っているが、彼はfor.Theのdeploy.rbファイルを見ているものをデバッグするように見えるカントは、このようになりますキャップの展開で:セットアップ 私は次のエラーを取得する:

* 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) 

私はそれに少し手を加えました。 Railsのアプリケーションを起動するのに問題はありません。だから、私がApacheにデプロイするときに何かする必要があります。注意すべき点の1つは、アプリケーション名が "app"(テストはレールで予約されているため)で、ドメイン名は "テスト"です。

このミスマッチは問題を引き起こす可能性がありますが、私は経験がほとんどないため、わかりません。

誰でもどこでデバッグするのか、それは何かを指摘できますか?

答えて

6

ロールweb、app、およびdbは、展開先のサーバーのURLまたはIPである必要があります。このようなもの:

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

ローカルマシンだと思いますので、ローカルホスト – OVERTONE

+0

ローカルホストにショットを付けます。なぜ自分のマシンに展開していますか?カピストラーノをテストするだけですか? – JohnColvin

+0

一般的にルビーをテストするだけです。カピストラーノはチュートリアルの一部に過ぎませんでした。 256MBのRAMを搭載した古いラップトップと、私はそれにルビーサーバを構築したいと決めました。 – OVERTONE

関連する問題