Fast asset compilation and deployment for your Rails app
Clone or download

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).


Add capistrano-local-precompile to your Gemfile:

group :development do
  # Capistrano v2 should use '~> 0.0.5'
  # Capistrano v3 should use '~> 1.0.0'
  # Capistrano v3.8+ should use '~> 1.1.3'
  gem 'capistrano-local-precompile', '~> 1.1.3', require: false

Then add the following line to your Capfile:

require 'capistrano/local_precompile'

Remove the following line from your Capfile:

require 'capistrano/rails/assets'

Here's the full set of configurable options:

set :precompile_env             # default: fetch(:rails_env) || 'production'
set :assets_dir                 # default: "public/assets"
set :rsync_cmd                  # default: "rsync -av --delete"


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) 2017 Steve Agalloco / Tom Caflisch. See LICENSE for detail