アップロード画像に関してはこちら。
残りのassetsもS3に置いていきます。
# Gemfile:
group :assets do
gem 'asset_sync'
end
$ rails g asset_sync:install --use-yml --provider=AWS
# conifg/asset_sync.yml:
defaults: &defaults
fog_provider: 'AWS'
aws_access_key_id: "XXXXXXXX"
aws_secret_access_key: "XXXXXXXXXXXXXXX"
fog_directory: "kowabana-jp"
fog_region: "ap-northeast-1"
existing_remote_files: keep
development:
<<: *defaults
enabled: false
test:
<<: *defaults
enabled: false
staging:
<<: *defaults
fog_directory: "staging-kowabana-jp"
production:
<<: *defaults
これだけでrake assets:precomiple
した時にS3にアップしてくれます。便利ですね。
# config/environments/production.rb:
KowabanaJp::Application.configure do
config.action_controller.asset_host = "//cdn.kowabana.jp"
end
こうするとimage_tag
とかasset_path
とかが吐くURLがCDN(CloudFront)になってくれます。
Engine Yard Cloudならではの部分
特に無し。ey deploy
のデフォルトではrake assets:precompile
が走るので特に気にしなくてもアップされます。楽だわあ。