No release in over 3 years
Low commit activity in last 3 years
There's a lot of open issues
Local asset-pipeline precompilation for Capstrano
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

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

Usage

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.2.0'
  gem 'capistrano-local-precompile', '~> 1.2.0', require: false
end

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"

Capistrano supports dry run mode. In that case the rsync command will not actually be run but only shown in stdout:

cap production deploy --dry-run

Acknowledgement

This gem is derived from gists by uhlenbrock and keighl.

Contributing

Pull requests welcome: fork, make a topic branch, commit (squash when possible) with tests and I'll happily consider.

Copyright

Copyright (c) 2019 Steve Agalloco / Tom Caflisch. See LICENSE for detail