我已经设置 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”选项,而我需要“--without test production”
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
知道如何执行此操作吗?
另外,我如何有选择地在开发或生产环境中开始精简?我是否需要为每个任务创建一个任务,或者有什么特殊的方法可以做到这一点?