Posted at

俺のRailsデプロイがこんなに遅いはずがない

More than 1 year has passed since last update.


きっかけ

Railsで開発してるのだが、最近デプロイが非常に遅くなってきた。 RailsのデプロイはCapistrano::Railsを使用しているが、ログをみるとrails assets:precompileに非常に時間がかかっていた。

なんとその時間 >約6分<

流石に1デプロイ6分はやってられないということで解決策を探すことに


解決策

rails assets:precompileはRubyだから遅い。C#で実装されたSassCを使おう。


インストール

Macの場合はbrew install sassc するだけ。Linuxの場合は以下を参考にSassCをインストールする。

Ubuntu/CentOSでSassCをインストールする - 動かざることバグの如し


設定

Railsのアセットプリコンパイル周辺の設計はすごく良くできていて、Gemfileの

gem 'sass-rails', '~> 5.0'

をコメントアウトして

gem "sassc-rails"

を追加するだけ。あとはbundle install


結果

今まで6分かかっていたrails assets:precompileが1分で終わった。なんというビフォア・アフター


言いたいこと


  • SassCマジ速い

  • 無理にwebpackに乗り換えなくても改善はできる