Help us understand the problem. What is going on with this article?

CI 上で assets:precompile をする時になるたけ早くする

More than 5 years have passed since last update.

Circle CI でも travis-ci でもなんでもいいんですが、とにかくデプロイ用に用意する assets:precompile を早くしたいというあなたむけの記事です。

bin/rake assets:precompilepublic/assets 以下に配信用の assets を吐き出し、 manifest.json なども配置されますが、この public/assets ディレクトリをキャッシュするだけでは、次回の bin/rake assets:precompile は早くなりません

継続的な bin/rake assets:precompile の実行を高速化するには public/assets だけでなく、 tmp/cache/assets も保存しておき、 assets:precompile 実行前に再配置しておく必要があります。

これにドはまりすると『CI 一回実行するのに、 assets:precompile だけで8分かかる……』というような悲しい Tweet をするハメになるので気をつけてください。特に、 browserify-rails などを使っている時に強烈に効きます。

僕の所はこれやるだけで8分かかってた assets:precompile が(変更がなければ)3秒で終わるようになったので、はちゃめちゃに効くと思います。

騙されたと思ってやってみてください。

ちなみに Circle CI で上記のことを実現するには、 circle.yml

dependencies:
  cache_directories:
    - 'public/assets'
    - 'tmp/cache/assets'

と書き足すといいです。

rosylilly
Ruby と Javascript を少々
http://aduca.org
cookpad
料理をするユーザーさんをテクノロジの力で笑顔にする
http://cookpad.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away