Rails
Sass

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

きっかけ

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に乗り換えなくても改善はできる