色々なメモ。

私的メモ。プログラミングとか。主に自分用まとめ。

Herokuで実際の稼働環境に特定のファイルを含めない

Herokuで、特定のファイルを実際の稼働環境に含めたくない場合。

一つの方法はそのファイルを.gitignoreに含めることだが、この場合はそもそもそのファイルがバージョン管理下に置かれないので、「Git でバージョン管理したいが、稼働環境には含めたくない」という場合には困る。

この問題に対する一つの解決策としては、.slugignoreというファイルを作り、そこに稼働環境に含めたくないファイルを列挙する。
.slugignoreの書式は基本的には.gitignoreと同じで、ここに書かれたファイルはHerokuのslugに含まれない。すなわち、実際の稼働環境(Dyno)では.slugignoreに書かれたファイルは存在しなくなる。

ただし、push時にHerokuのサーバーへのアップロードはされる。実際、herokuからcloneなりなんなりをしてみると、.slugignoreに書いたファイルも含まれていることが分かる。
よって、たとえばサイズの大きなファイルのアップロードを防ぐ目的では使えないことになる(Slug sizeを減らすのには有効)

参考:
https://devcenter.heroku.com/articles/slug-compiler