我正在尝试将我的应用部署到heroku,但每次挂起超过15分钟后都会导致此错误。
AssetSync: using default configuration from built-in initializer
! Timed out compiling Multipack app (15 minutes)
! See https://devcenter.heroku.com/articles/slug-compiler#time-limit
To git@heroku.com:examplesite.git
! [remote rejected] refs/heroku_san/deploy -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:examplesite.git'
git update-ref -d refs/heroku_san/deploy
rake aborted!
Command failed with status (1): [git push git@heroku.com:examplesite...]
我正在使用heroku_san,但是当我执行git push heroku master
时会出现同样的错误。任何帮助将非常感激!我正在运行rails 3.2
答案 0 :(得分:1)
在.buildpacks文件中,确保您指向的存储库是https而不是http。在这里看到了答案https://github.com/ddollar/heroku-buildpack-multi/issues/16。
答案 1 :(得分:0)
您应该将资产缓存在memcached中以加快部署速度。
如果您缓存已编译的资产,则可以大大加快资产编译时间和整体部署时间。如果您有memcached服务或添加一个服务,则可以轻松添加小型资产缓存层。这会将生成的资产写入缓存,并仅编译自上次部署以来每个新部署中更改的资产。未更改的资产将按原样从缓存中提取。
在高级别,你需要:
此博客文章中的完整详细信息描述了使用memcached进行Heroku资产缓存:http://blog.alexmaccaw.com/faster-deploys
答案 2 :(得分:0)
我最终使用了turbo-sprockets-rails3 gem,这确保了我不会多次预编译资产,以及缓存它们,因此后续预编译只会预编译已更改的文件。