使用Capistrano部署生产和开发环境

时间:2012-08-24 16:12:11

标签: ruby-on-rails ruby-on-rails-3 capistrano

我已经设置了Capistrano在生产服务器上部署我的rails应用程序,这很好用。

我现在需要能够在开发服务器上部署相同的应用程序。为此,我在config.deploy.rb中创建了2个任务:

desc "Run on development server" 
task :dev do 
  server "development_server", :web, :app, :db, :primary => true
end 

desc "Run on production server" 
task :production do 
  server "production_server", :web, :app, :db, :primary => true
end

这样做,为了在dev上进行部署,我需要使用:

上限开发部署

但是,我没有设法告诉Capitrano在正确的环境中运行捆绑包,它使用“--without development test”选项,我需要“ - 不用测试生产”

failed: "rvm_path=$HOME/.rvm/ $HOME/.rvm/bin/rvm-shell '1.9.3' -c 'cd /var/be/releases/20120824155742 && bundle install --gemfile /var/be/releases/20120824155742/Gemfile --path /var/be/shared/bundle --deployment --quiet --without development test'" on 192.168.1.10

知道如何执行此操作吗?

另外,如何在开发或生产环境中有选择地开始瘦身?我是否需要为每个人创建一个任务,或者有任何特殊的方法吗?

1 个答案:

答案 0 :(得分:4)

最好的方法是使用Capistrano Multistage扩展程序。 This Wiki会更好地解释它如何被使用。我遇到的唯一问题是:require 'capistrano/ext/multistage' require 'capistrano'不需要{{1}}。