thunder_punch 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 0.0.6
@@ -1,10 +1,13 @@
1
1
  Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ #finalizing deploy is normal behaviour but in some (multi-server) environments we don't want that.
4
+ _cset :finalize_deploy, true
5
+
2
6
  namespace :deploy do
3
7
  desc "Deploy the app"
4
8
  task :default, :roles => [:app, :static, :worker] do
5
9
  update
6
10
  restart
7
- cleanup
8
11
  end
9
12
 
10
13
  desc "Setup a GitHub-style deployment."
@@ -12,21 +15,47 @@ Capistrano::Configuration.instance(:must_exist).load do
12
15
  run "git clone #{repository} #{current_path}"
13
16
  end
14
17
 
18
+ task :update do
19
+ transaction do
20
+ update_code
21
+ end
22
+ end
23
+
15
24
  desc "Update the deployed code."
16
25
  task :update_code, :roles => [:app, :static, :worker], :except => { :no_release => true } do
17
- run "cd #{current_path}; git fetch origin; git reset --hard #{branch}; git submodule update --init"
26
+ run "cd #{current_path}; git fetch origin; git reset --hard origin/#{branch}; git submodule update --init"
27
+ if fetch(:finalize_deploy, true)
28
+ finalize_update
29
+ end
18
30
  end
19
31
 
32
+ desc "Update the database (overwritten to avoid symlink)"
33
+ task :migrations do
34
+ transaction do
35
+ update_code
36
+ end
37
+ migrate
38
+ end
39
+
40
+
20
41
  # "rollback" is actually a namespace with a default task
42
+ # we overwrite the default task below to get our new behavior
21
43
  namespace :rollback do
22
- desc "Rollback a single commit."
23
- task :code, :roles => [:app, :static, :worker], :except => { :no_release => true } do
24
- set :branch, "HEAD^"
44
+ desc "Moves the repo back to the previous version of HEAD"
45
+ task :repo, :except => { :no_release => true }, :roles => [:app, :static, :worker] do
46
+ set :branch, "HEAD@{1}"
25
47
  deploy.default
26
48
  end
27
49
 
28
- task :default, :roles => [:app, :static, :worker] do
29
- rollback.code
50
+ desc "Rewrite reflog so HEAD@{1} will continue to point to at the next previous release."
51
+ task :cleanup, :except => { :no_release => true }, :roles => [:app, :static, :worker] do
52
+ run "cd #{current_path}; git reflog delete --rewrite HEAD@{1}; git reflog delete --rewrite HEAD@{1}"
53
+ end
54
+
55
+ desc "Rolls back to the previously deployed version."
56
+ task :default do
57
+ rollback.repo
58
+ rollback.cleanup
30
59
  end
31
60
  end
32
61
 
@@ -5,7 +5,7 @@ Capistrano::Configuration.instance(:must_exist).load do
5
5
 
6
6
  namespace :passenger do
7
7
  desc "Restart Application"
8
- task :restart, :roles => [:app] do
8
+ task :restart, :except => { :no_release => true }, :roles => [:app] do
9
9
  run "touch #{current_path}/tmp/restart.txt"
10
10
  end
11
11
  end
@@ -0,0 +1,12 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ namespace :sass do
4
+
5
+ desc "Generate the compiled CSS files from Sass"
6
+ task :update_stylesheets, :roles => [:static] do
7
+ run "cd #{current_path}; script/runner -e #{rails_env} 'Sass::Plugin.update_stylesheets'"
8
+ end
9
+
10
+ end # end namespace
11
+
12
+ end
@@ -0,0 +1,3 @@
1
+ Dir["#{File.dirname(__FILE__)}/sass/*.rb"].each { |lib|
2
+ Capistrano::Configuration.instance.load {load(lib)}
3
+ }
@@ -0,0 +1,12 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+
3
+ namespace :varnish do
4
+
5
+ desc "Generate the compiled CSS files from Sass"
6
+ task :clear_cache, :roles => [:proxy] do
7
+ sudo 'varnishadm -T localhost:6082 purge.url ".*"'
8
+ end
9
+
10
+ end # end namespace
11
+
12
+ end
@@ -0,0 +1,3 @@
1
+ Dir["#{File.dirname(__FILE__)}/varnish/*.rb"].each { |lib|
2
+ Capistrano::Configuration.instance.load {load(lib)}
3
+ }
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{thunder_punch}
8
- s.version = "0.0.5"
8
+ s.version = "0.0.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bob Burbach"]
12
- s.date = %q{2010-07-02}
12
+ s.date = %q{2010-07-06}
13
13
  s.description = %q{Collection of capistano recipes for deployment and server tasks}
14
14
  s.email = %q{govpulse@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -38,7 +38,11 @@ Gem::Specification.new do |s|
38
38
  "lib/recipes/ec2/ami.rb",
39
39
  "lib/recipes/jekyll/jekyll.rb",
40
40
  "lib/recipes/less/less.rb",
41
+ "lib/recipes/sass.rb",
42
+ "lib/recipes/sass/compile.rb",
41
43
  "lib/recipes/thinking_sphinx.rb",
44
+ "lib/recipes/varnish.rb",
45
+ "lib/recipes/varnish/cache.rb",
42
46
  "lib/thunder_punch.rb",
43
47
  "lib/utilities/utilities.rb",
44
48
  "test/helper.rb",
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 5
9
- version: 0.0.5
8
+ - 6
9
+ version: 0.0.6
10
10
  platform: ruby
11
11
  authors:
12
12
  - Bob Burbach
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-07-02 00:00:00 -07:00
17
+ date: 2010-07-06 00:00:00 -07:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -74,7 +74,11 @@ files:
74
74
  - lib/recipes/ec2/ami.rb
75
75
  - lib/recipes/jekyll/jekyll.rb
76
76
  - lib/recipes/less/less.rb
77
+ - lib/recipes/sass.rb
78
+ - lib/recipes/sass/compile.rb
77
79
  - lib/recipes/thinking_sphinx.rb
80
+ - lib/recipes/varnish.rb
81
+ - lib/recipes/varnish/cache.rb
78
82
  - lib/thunder_punch.rb
79
83
  - lib/utilities/utilities.rb
80
84
  - test/helper.rb