Edited at

【Subversion】Capistranoのデプロイで必要ない時はasset precompileをしない

More than 5 years have passed since last update.

なにとなくsvnでかいてみた。

動作保証はできませぬ。

もっと簡潔な書き方あるような...


precompile.rb

 namespace :assets do                                                              

task :precompile, :roles => :webs do
revs = []
[
current_path,
release_path
].each{|i|
revs << capture("cd #{i} && svnversion").chomp.gsub(/M/, '')
}
lines = revs.uniq.size < 2 ? 0 :
capture("cd #{release_path} && svn log -v -r#{revs.join(':')} | grep 'app/assets' | wc -l").to_i
if lines > 0
p "precompile"
run %Q{cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile}
else
p "skipping precompile"
end
end
end