2012-03-11 148 views
3

我遵循一個很好的教程here,它真的幫助我把頭圍繞一些東西。 Rails apache和rvm在一起很好地工作。我差不多完成了,但最後一部分卻陷入困境。capistrano的部署問題

基本上我有類似他有什麼部署文件,但不能似乎調試要求的東西for.The deploy.rb文件看起來像這樣:

#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 

當我嘗試部署與Capistrano的應用帽部署:安裝 我得到以下錯誤:

* 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 webrick在啓動rails應用程序時沒有問題,因此它必須與我部署到apache中有關。需要注意的一點是應用程序名稱「app」(因爲測試是在rails中保留的)而域名是「test」。

這種不匹配可能會導致問題,但我幾乎沒有經驗,所以我不知道。

任何人都可以指出我在哪裏調試或可能是什麼?

回答

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 2012-03-11 23:53:45

+0

給本地主機一槍。你爲什麼要部署到你自己的機器?只是爲了測試capistrano? – JohnColvin 2012-03-12 16:06:19

+0

只是爲了測試一般的紅寶石。 capistrano只是教程的一部分。它是一款256MB RAM的舊筆記本電腦,我決定在其上構建一個紅寶石服務器。 – OVERTONE 2012-03-12 21:34:39