アセットをローカルで開発中または本番サーバーでプリコンパイルするオプションがあります。私は git でデプロイするので、これらすべてのアセットをチェックインする必要はありません (特に、キャッシュ無効化ダイジェストを使用している場合)。
アセットをローカルでプリコンパイルする利点はありますか (本番マシンでの書き込みアクセスがないことを除いて)?
アセットをローカルで開発中または本番サーバーでプリコンパイルするオプションがあります。私は git でデプロイするので、これらすべてのアセットをチェックインする必要はありません (特に、キャッシュ無効化ダイジェストを使用している場合)。
アセットをローカルでプリコンパイルする利点はありますか (本番マシンでの書き込みアクセスがないことを除いて)?
アセットをプリコンパイルするときに、サイトをダウンさせる必要はありません。capistranoまたは同様のツールを使用する場合は、サーバーでアセットをプリコンパイルしてから(この手順とその他の手順が完了した後)、アプリを再起動します。その間、アプリは古いコード(およびアセット)から提供されています。
反対に、私は「キャッシュ破壊」コメントについては同意しません。Gitは、可能であれば2つの異なる名前のファイル間の差分を理解するのに十分賢いです。したがって、名前が変更されたかどうかに関係なく、結果はまったく同じになります。その場合、コンパイルされたアセットなどの生成されたデータをリポジトリにロードすることは無意味であることに完全に同意します。
アセットをローカルでコンパイルする方がはるかに高速で、サイトがダウンする期間が短いことがわかりました。
もちろん、それはサーバーのセットアップなどに依存します...