Circle CI でも travis-ci でもなんでもいいんですが、とにかくデプロイ用に用意する assets:precompile を早くしたいというあなたむけの記事です。
bin/rake assets:precompile は public/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'
と書き足すといいです。