Fast asset compilation and deployment for your Rails app
Latest commit fa33bcc Jan 24, 2015 @stve Merge pull request #12 from steakchaser/master
Remove old manifest file(s) from shared_path instead of public

Capistrano Local Precompile

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

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