развертывание heroku занимает очень много времени

у нас есть довольно большое приложение, которое поднимается на Heroku... Это приложение, использующее browsercms в качестве базы, и оно построено поверх этого. Gemfile не такой большой (у нас не больше драгоценных камней, чем у нашего среднего приложения), но по какой-то причине развертывание занимает 15 минут. Компиляция и перемещение активов в s3 (через assetsync) занимает около 5 минут из-за всех активов, но оставшиеся 10 минут тратятся на это:

----> Heroku receiving push   
-----> Removing .DS_Store files
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.2.0
       Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment

кто-нибудь знает, почему эта часть занимает так много времени? Этот gemfile замок находится в репо, и толкнул к heroku, и вот суть нашего gemfile:https://gist.github.com/aa44bbb06eed97736c20

EDIT: мы на рельсах 3.2.7

2 ответов


когда bundler использует драгоценный камень, у которого есть git repo, он загрузит весь git repo, чтобы включить драгоценный камень, а не только главную ветку или любую ветвь.

у нас была такая же проблема с rails_admin камень sferik.

это может помощь, если вы укажете конкретную ветвь, например:

gem "browsercms", "3.5.3", git: 'git://github.com/josiahivey/browsercms.git', :branch => 'master'

один из способов сказать-посмотреть на скомпилированный размер слизняка до и после внесения изменений. В нашем случае, rails_admin был около 30мб наш размер слизня. Heroku также имеет ограничение на размер пули 100mb, просто FYI.

вы также можете попробовать запустить команду bundle pack следующим образом:

bundle pack --all

это поместит все ваши драгоценные камни (предположительно, git тоже, из-за переключателя --all) в каталог поставщика/кэша.

как указано в этом GitHub isssue для проекта bundler (посмотрите в конце, где парень heroku отвечает):

https://github.com/carlhuda/bundler/issues/67


две вещи ускорили этот процесс. Бандлер 1.2.1, казалось, помог, и турбо звездочки сэкономил пару минут. Теперь это терпимо.