如何在capistrano部署中管理捆绑的gem?

目前,我刚刚运行以下内容:

在’deploy:update_code’之后,’deploy:bundle’

namespace :deploy do task :bundle do run "cd #{release_path} && bundle install --deployment --without development test staging" end end 

现在这个工作正常,但捆绑商最终每次都将所有gem安装到vendor/gems 。 虽然我理解将gems隔离到每个版本的优点(与使用共享文件夹相反,哪些(?)可能导致回滚时出现错误等),当然有一种更好的方法可以做到这一点,而不是部署和节省磁盘空间的时间很长。

捆绑1.0发布后情况发生了变化

您无需从部署创建自定义任务。

只需使用require 'bundler/capistrano'

看看这个http://blog.josephholsten.com/2010/09/deploying-with-bundler-and-capistrano/了解更多详情