Skip to content

Instantly share code, notes, and snippets.

@olegykz
Forked from stympy/deploy.rb
Created November 15, 2012 15:34
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save olegykz/4079213 to your computer and use it in GitHub Desktop.
Save olegykz/4079213 to your computer and use it in GitHub Desktop.
Skip asset pre-compilation when deploying if the assets didn't change
namespace :deploy do
namespace :assets do
task :precompile, :roles => :web, :except => { :no_release => true } do
begin
from = source.next_revision(current_revision) # <-- Fail here at first-time deploy because of current/REVISION absence
rescue
err_no = true
end
if err_no || capture("cd #{latest_release} && #{source.local.log(from)} vendor/assets/ app/assets/ | wc -l").to_i > 0
run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile}
else
logger.info "Skipping asset pre-compilation because there were no asset changes"
end
end
end
end
@a2ikm
Copy link

a2ikm commented Jun 27, 2013

Good tips!
I think Gemfile.lock should be also checked because some gems provide assets.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment