2012-03-11 115 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