我决定通过S3服务的轨道资产; Heroku上对如何做到这一点伟大的教程。 该网站现在是从我的亚马逊水桶服务资产,但我不确定为什么我不得不手动运行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
我将永远有后运行预编译任务,只是没事用推失败? 我会检查,看看目录名的警告导致推送空白FOG错误
再次编辑 asset_sync不会出现有ENV变量称为资产时:Heroku的推预编译任务。 运行任务推后的作品,但它烦人“。
仍然没有工作对我来说,最新的尝试是(每asset_sync github上的项目 ):
LIB /任务/ 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']
对我也没有工作。