capistrano-deploy-management 0.1.22 → 0.1.23
Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@
|
|
2
2
|
Gem::Specification.new do |s|
|
3
3
|
s.name = 'capistrano-deploy-management'
|
4
4
|
s.description = 'Collection of Capistrano recipes for deploying Rails apps into high-performance environments'
|
5
|
-
s.version = '0.1.
|
5
|
+
s.version = '0.1.23'
|
6
6
|
s.platform = Gem::Platform::RUBY
|
7
7
|
s.authors = ['Dominik Rodler']
|
8
8
|
s.email = ['dominik.rodler@gmail.com']
|
data/changelog.md
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
- 0.1.
|
1
|
+
- 0.1.23
|
2
|
+
work in progress: only precompile assets if any assets have changed
|
3
|
+
|
4
|
+
- 0.1.21 / 0.1.22
|
2
5
|
attempt to speed up bundle install using --local flag // reverted, because some gems are OS-specific and make bundle install fail
|
3
6
|
|
4
7
|
- 0.1.19 / 0.1.20
|
@@ -6,9 +6,9 @@ module CapistranoDeployManagement
|
|
6
6
|
use_recipe :rails
|
7
7
|
|
8
8
|
namespace :deploy do
|
9
|
-
namespace :assets do
|
9
|
+
namespace :assets, :roles => :web do
|
10
10
|
desc 'Clear application cache (e.g. Memcached).'
|
11
|
-
task :refresh_cache, roles: :
|
11
|
+
task :refresh_cache, roles: :web do
|
12
12
|
run "cd #{current_path} && rake cache:clear RAILS_ENV=#{rails_env}"
|
13
13
|
# Requires this rake task: (include here!?)
|
14
14
|
# namespace :cache do
|
@@ -19,6 +19,38 @@ module CapistranoDeployManagement
|
|
19
19
|
# end
|
20
20
|
end
|
21
21
|
end
|
22
|
+
|
23
|
+
desc 'Precompile assets if any assets have changed.'
|
24
|
+
task :lazy_precompile, :roles => :web, :except => { :no_release => true } do
|
25
|
+
current_revision = "cat #{current_path}/REVISION"
|
26
|
+
head_revision = "cat #{latest_release}/REVISION"
|
27
|
+
assets_paths = "#{latest_release}/app/assets/ #{latest_release}/lib/assets/ #{latest_release}/vendor/assets/"
|
28
|
+
|
29
|
+
run "svn log -r #{current_revision}:#{head_revision} #{assets_paths}"
|
30
|
+
|
31
|
+
# if capture("cd #{latest_release} && #{source.local.log(from)} vendor/assets/ app/assets/ | wc -l").to_i > 0
|
32
|
+
# run "cd #{latest_release} && #{rake} RAILS_ENV=#{rails_env} #{asset_env} assets:precompile"
|
33
|
+
# else
|
34
|
+
# logger.info "Skipping asset pre-compilation because there were no asset changes"
|
35
|
+
# end
|
36
|
+
end
|
37
|
+
|
38
|
+
# desc 'Precompile assets, but only those that are not precompiled already.'
|
39
|
+
# task :recompile, :roles => :web, :except => { :no_release => true } do
|
40
|
+
# run <<-EOF
|
41
|
+
# export FROM=`[ -f #{current_path}/REVISION ] && (cat #{current_path}/REVISION | perl -pe 's/$/../')` &&
|
42
|
+
# export TO=`cat #{latest_release}/REVISION` &&
|
43
|
+
# echo ${FROM}${TO} &&
|
44
|
+
# cd #{shared_path}/cached-copy &&
|
45
|
+
# git log ${FROM}${TO} -- app/assets vendor/assets | wc -l | egrep '^0$' ||
|
46
|
+
# (
|
47
|
+
# echo "Recompiling assets" &&
|
48
|
+
# cd #{latest_release} &&
|
49
|
+
# source .rvmrc &&
|
50
|
+
# RAILS_ENV=production bundle exec rake assets:precompile --trace
|
51
|
+
# )
|
52
|
+
# EOF
|
53
|
+
# end
|
22
54
|
end
|
23
55
|
|
24
56
|
after 'deploy:update', 'deploy:assets:refresh_cache'
|