我已经设置了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
知道如何执行此操作吗?
另外,如何在开发或生产环境中有选择地开始瘦身?我是否需要为每个人创建一个任务,或者有任何特殊的方法吗?
答案 0 :(得分:4)
最好的方法是使用Capistrano Multistage扩展程序。 This Wiki会更好地解释它如何被使用。我遇到的唯一问题是:require 'capistrano/ext/multistage'
require 'capistrano'
不需要{{1}}。