If your Rails apps are anything like mine, one of the slowest parts of your deployment is waiting for asset pipeline precompilation. It's sometimes so slow, it's painful. So I went searching for some solutions. turbo-sprockets helped, but it's not a silver bullet. This gem isn't a silver bullet either, but it can help. Capistrano Local Precompile takes a different approach. It builds your assets locally and rsync's them to your web server(s).
Note: This gem is not yet compatible with Capistrano 3.
Add capistrano-local-precompile to your Gemfile:
group :development do
gem 'capistrano-local-precompile', require: false
end
Then add the following line to your deploy.rb
:
require 'capistrano/local_precompile'
If you are using turbo-sprockets, just set it to enabled. Your asset will still compile locally, but they'll use turbosprockets to do so:
set :turbosprockets_enabled, true
Here's the full set of configurable options:
set :precompile_cmd # default: bundle exec rake assets:precompile
set :assets_dir # default: "public/assets"
set :rsync_cmd # default: "rsync -av"
set :turbosprockets_enabled # default: false
set :turbosprockets_backup_dir # default: "public/.assets"
set :cleanexpired_cmd # default: bundle exec rake assets:clean_expired
This gem is derived from gists by uhlenbrock and keighl.
Pull requests welcome: fork, make a topic branch, commit (squash when possible) with tests and I'll happily consider.
Copyright (c) 2013 Steve Agalloco. See LICENSE for detail