2012年2月29日水曜日

別サーバでassetsを提供する際の覚書


rails3.1.x以降でassets pipe lineを利用する際に、assetsの提供を別サーバにしたい場合は下記の手順で実施する必要があります。

  • config/environments/production.rbを編集する。
    • config.assets.compile = falseにする。
    • config.action_controller.asset_host = "http://www.example.com" として提供サーバを設定する。
  • 開発マシンでrake assets:precompileを実行する。
    • サブディレクトリ配下におきたい場合は、RAILS_RELATIVE_URL_ROOT=/fooの様に環境変数で指定する。
  • manifest.ymlだけコミットする
    • manifest.ymlがあれば論理名をハッシュ付き名に変換可能。
    • public/assetsは無視リストに。public/assets/manifest.ymlだけコミット可能にする。
  • assets自体はassets専用サーバに送る。
    • AWS S3の場合、jammit-s3等を利用。
  • アプリをデプロイする。

0 件のコメント:

コメントを投稿