目前,我刚刚运行以下内容:
在'deploy:update_code'之后,'deploy:bundle'
namespace :deploy do
task :bundle do
run "cd #{release_path} && bundle install --deployment --without development test staging"
end
end
现在这样可以正常工作,但捆绑包最终每次都会将所有宝石安装到vendor/gems
。虽然我理解将gems隔离到每个版本的优点(与使用共享文件夹相反,哪些(?)可能导致回滚时出现错误等),当然有一种更好的方法可以做到这一点,而不是部署和节省磁盘空间的时间很长。
答案 0 :(得分:9)
捆绑1.0发布后情况发生了变化
您无需从部署创建自定义任务。
只需使用 require 'bundler/capistrano'
请查看此http://blog.josephholsten.com/2010/09/deploying-with-bundler-and-capistrano/了解详情