Ruby on rails 为“cap部署”提供更好的Rails 3资产处理`
我注意到默认的“部署”任务在远程机器上执行资产预编译,这会产生以下不良影响:Ruby on rails 为“cap部署”提供更好的Rails 3资产处理`,ruby-on-rails,capistrano,assets,sprockets,precompile,Ruby On Rails,Capistrano,Assets,Sprockets,Precompile,我注意到默认的“部署”任务在远程机器上执行资产预编译,这会产生以下不良影响: 在预编译期间(在实时站点上)出现奇怪的故障资产 配置中的错误导致停机,响应代码为500 这项任务需要很长时间 我已经看到了这一点,它通过在没有任何要预编译的内容时不导致您进行预编译,稍微缓解了问题: 但必须有更好的解决办法 有人试过这些吗: 始终部署到“暂存”位置,在那里您可以测试所有内容,然后添加某种cap-enivilen任务,以某种方式通知web服务器前端开始使用另一个端口?(我可以通过编辑nginx上游并重
- 在预编译期间(在实时站点上)出现奇怪的故障资产
- 配置中的错误导致停机,响应代码为500
- 这项任务需要很长时间
cap-enivilen
任务,以某种方式通知web服务器前端开始使用另一个端口?(我可以通过编辑nginx上游
并重新启动它来手动管理这一点,然后我可以通过nginx.conf
中的include和一个cap任务将其绑定在一起来自动化这一点。)- 部署前预编译资产
- 在后台在服务器端编译它
- 将其留给
或其他队列管理系统延迟的\u作业
deploy
中,使其不会在服务器上预编译?我不确定,但如果可以在服务器上使用本地预编译的资产,您可以预编译它,然后使用Capistrano上载方法上载到服务器。