アップロード画像に関してはこちら

画像をS3にアップする - komagata

残りの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が走るので特に気にしなくてもアップされます。楽だわあ。

Comments


Option