rails assets: прекомпилировать во время slug для ошибки s3: поставщик Fog и каталог не могут быть пустыми, когда заданы env

Я решил обслуживать рельсы через S3; У heroku есть отличные уроки о том, как это сделать. Сайт теперь обслуживает ресурсы из моего хранилища Amazon, но я не уверен, почему мне пришлось запускать вручнуюheroku run rake assets:precompile послеgit push heroku master который управляетrake assets:precompile.

После запускаgit push heroku master активы, которых не было в моем ведре, и выходные данные для прекомпиляции были:

AssetSync: using default configuration from built-in initializer
       AssetSync: using default configuration from built-in initializer
       rake aborted!
       Fog provider can't be blank, Fog directory can't be blank
       /tmp/build_3vtwfg15g8ajx/vendor/bundle/ruby/1.9.1/gems/asset_sync-0.5.0/lib/asset_sync/asset_sync.rb:29:in `sync'
       /tmp/build_3vtwfg15g8ajx/vendor/bundle/ruby/1.9.1/gems/asset_sync-0.5.0/lib/tasks/asset_sync.rake:3:in `block in <top (required)>'
       Tasks: TOP => assets:precompile:nondigest
       (See full trace by running task with --trace)
       Precompiling assets failed, enabling runtime asset compilation
       Injecting rails31_enable_runtime_asset_compilation

Я установил провайдера тумана и каталог с:heroku config:add FOG_DIRECTORY=XXX FOD_PROVIDER=AWS и вызывая конфиг heroku --app подтверждает это ... так что я не получаю этих ошибок.

Активы не показывались в моем ведре, поэтому я побежал:heroku run rake assets:precompile и все заработало с предупреждением:

AssetSync: using default configuration from built-in initializer
AssetSync: Syncing.
[WARNING] fog: the specified s3 bucket name(ss_assets) is not a valid dns name, which will negatively impact performance.  For details see: http://docs.amazonwebservices.com/AmazonS3/latest/dev/Bucket
Restrictions.html

Должен ли я всегда запускать задачу прекомпиляции после и просто быть в порядке с ошибкой push? Я проверю, не вызывает ли предупреждение об имени каталога пустые ошибки FOG при нажатии

РЕДАКТИРОВАТЬ Опять же, у asset_sync, по-видимому, нет переменных ENV при вызове в активах: задача прекомпиляции нажатия heroku. Выполнение этой задачи после принудительной работы, но это «раздражает».

Все еще не работает для меня, последняя попытка была (заgitub проект asset_sync):

Библиотека / Задачи / asset_sync.rake.

Rake::Task['assets:precompile'].enhance do
  AssetSync.sync
end

Rake::Task["assets:precompile:nondigest"].enhance do
  AssetSync.sync
end

Я также попытался добавить строки в мой файл production.rb, например:

  config.asset_sync.aws_bucket = ENV['FOG_DIRECTORY']
  config.asset_sync.fog_provider = ENV['FOG_PROVIDER']

У меня тоже не сработало.

Ответы на вопрос(1)

Ваш ответ на вопрос