caploy 0.1.3 → 0.1.4
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/lib/caploy/recipes/defaults.rb +11 -3
- data/lib/caploy/templates/unicorn/unicorn.rb.erb +11 -7
- data/lib/caploy/version.rb +1 -1
- metadata +136 -143
|
@@ -73,18 +73,26 @@ Capistrano::Configuration.instance.load do
|
|
|
73
73
|
["deployed", "master", current, latest] : \
|
|
74
74
|
["previous", "deployed", previous, current]
|
|
75
75
|
|
|
76
|
+
# Fetch the difference between master and deployed revisions.
|
|
77
|
+
log_cmd = "#{source.log(previous, latest).gsub(/^git/, 'git --no-pager')} --oneline"
|
|
78
|
+
cfg = File.join(shared_path, strategy.configuration[:repository_cache] || "cached-copy")
|
|
79
|
+
|
|
80
|
+
diff = ''
|
|
81
|
+
run %Q{cd "#{cfg}" && #{log_cmd}} do |channel, stream, data|
|
|
82
|
+
diff = data
|
|
83
|
+
end
|
|
84
|
+
|
|
76
85
|
# Show difference between master and deployed revisions.
|
|
77
|
-
if
|
|
86
|
+
if diff != ""
|
|
78
87
|
# Colorize refs
|
|
79
88
|
diff.gsub!(/^([a-f0-9]+) /, "\033[1;32m\\1\033[0m - ")
|
|
80
89
|
diff = " " << diff.gsub("\n", "\n ") << "\n"
|
|
81
90
|
# Indent commit messages nicely, max 80 chars per line, line has to end with space.
|
|
82
|
-
diff = diff.split("\n").map { |l| l.scan(/.{1,
|
|
91
|
+
diff = diff.split("\n").map { |l| l.scan(/.{1,80}/).join("\n"<<" "*14).gsub(/([^ ]*)\n {14}/m, "\n"<<" "*14<<"\\1") }.join("\n")
|
|
83
92
|
puts "=== Difference between #{base_label} revision and #{new_label} revision:\n\n"
|
|
84
93
|
puts diff
|
|
85
94
|
end
|
|
86
95
|
end
|
|
87
|
-
|
|
88
96
|
after "deploy", "revisions"
|
|
89
97
|
after "deploy:migrations", "revisions"
|
|
90
98
|
end
|
|
@@ -15,14 +15,18 @@ before_fork do |server, worker|
|
|
|
15
15
|
ActiveRecord::Base.connection.disconnect!
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
#
|
|
18
|
+
# This allows a new master process to incrementally
|
|
19
|
+
# phase out the old master process with SIGTTOU to avoid a
|
|
20
|
+
# thundering herd (especially in the "preload_app false" case)
|
|
21
|
+
# when doing a transparent upgrade. The last worker spawned
|
|
22
|
+
# will then kill off the old master process with a SIGQUIT.
|
|
19
23
|
old_pid = "#{server.config[:pid]}.oldbin"
|
|
20
|
-
if File.exists?(old_pid) && server.pid
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
if File.exists?(old_pid) && old_pid != server.pid
|
|
25
|
+
begin
|
|
26
|
+
sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU
|
|
27
|
+
Process.kill(sig, File.read(old_pid).to_i)
|
|
28
|
+
rescue Errno::ENOENT, Errno::ESRCH
|
|
29
|
+
end
|
|
26
30
|
end
|
|
27
31
|
end
|
|
28
32
|
|
data/lib/caploy/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,167 +1,154 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: caploy
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
prerelease: false
|
|
5
|
+
segments:
|
|
6
|
+
- 0
|
|
7
|
+
- 1
|
|
8
|
+
- 4
|
|
9
|
+
version: 0.1.4
|
|
6
10
|
platform: ruby
|
|
7
|
-
authors:
|
|
11
|
+
authors:
|
|
8
12
|
- Michael Schiller
|
|
9
13
|
autorequire:
|
|
10
14
|
bindir: bin
|
|
11
15
|
cert_chain: []
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
|
|
17
|
+
date: 2012-12-19 00:00:00 +01:00
|
|
18
|
+
default_executable:
|
|
19
|
+
dependencies:
|
|
20
|
+
- !ruby/object:Gem::Dependency
|
|
15
21
|
name: gemcutter
|
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
|
-
requirements:
|
|
19
|
-
- - ! '>='
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version: '0'
|
|
22
|
-
type: :runtime
|
|
23
22
|
prerelease: false
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
name: capistrano
|
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
|
-
requirements:
|
|
35
|
-
- - ! '>='
|
|
36
|
-
- !ruby/object:Gem::Version
|
|
37
|
-
version: 2.12.0
|
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
24
|
+
requirements:
|
|
25
|
+
- - ">="
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
segments:
|
|
28
|
+
- 0
|
|
29
|
+
version: "0"
|
|
38
30
|
type: :runtime
|
|
31
|
+
version_requirements: *id001
|
|
32
|
+
- !ruby/object:Gem::Dependency
|
|
33
|
+
name: capistrano
|
|
39
34
|
prerelease: false
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
segments:
|
|
40
|
+
- 2
|
|
41
|
+
- 12
|
|
42
|
+
- 0
|
|
45
43
|
version: 2.12.0
|
|
46
|
-
- !ruby/object:Gem::Dependency
|
|
47
|
-
name: capistrano-ext
|
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
|
-
requirements:
|
|
51
|
-
- - ! '>='
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: 1.2.1
|
|
54
44
|
type: :runtime
|
|
45
|
+
version_requirements: *id002
|
|
46
|
+
- !ruby/object:Gem::Dependency
|
|
47
|
+
name: capistrano-ext
|
|
55
48
|
prerelease: false
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
segments:
|
|
54
|
+
- 1
|
|
55
|
+
- 2
|
|
56
|
+
- 1
|
|
61
57
|
version: 1.2.1
|
|
62
|
-
- !ruby/object:Gem::Dependency
|
|
63
|
-
name: capistrano_colors
|
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
|
-
requirements:
|
|
67
|
-
- - ! '>='
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: 0.5.5
|
|
70
58
|
type: :runtime
|
|
59
|
+
version_requirements: *id003
|
|
60
|
+
- !ruby/object:Gem::Dependency
|
|
61
|
+
name: capistrano_colors
|
|
71
62
|
prerelease: false
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
63
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
segments:
|
|
68
|
+
- 0
|
|
69
|
+
- 5
|
|
70
|
+
- 5
|
|
77
71
|
version: 0.5.5
|
|
78
|
-
- !ruby/object:Gem::Dependency
|
|
79
|
-
name: capistrano-unicorn
|
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
|
-
requirements:
|
|
83
|
-
- - ! '>='
|
|
84
|
-
- !ruby/object:Gem::Version
|
|
85
|
-
version: 0.1.6
|
|
86
72
|
type: :runtime
|
|
73
|
+
version_requirements: *id004
|
|
74
|
+
- !ruby/object:Gem::Dependency
|
|
75
|
+
name: capistrano-unicorn
|
|
87
76
|
prerelease: false
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
77
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - ">="
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
segments:
|
|
82
|
+
- 0
|
|
83
|
+
- 1
|
|
84
|
+
- 6
|
|
93
85
|
version: 0.1.6
|
|
94
|
-
- !ruby/object:Gem::Dependency
|
|
95
|
-
name: capistrano-file_db
|
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
|
-
requirements:
|
|
99
|
-
- - ! '>='
|
|
100
|
-
- !ruby/object:Gem::Version
|
|
101
|
-
version: 0.1.0
|
|
102
86
|
type: :runtime
|
|
87
|
+
version_requirements: *id005
|
|
88
|
+
- !ruby/object:Gem::Dependency
|
|
89
|
+
name: capistrano-file_db
|
|
103
90
|
prerelease: false
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
91
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - ">="
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
segments:
|
|
96
|
+
- 0
|
|
97
|
+
- 1
|
|
98
|
+
- 0
|
|
109
99
|
version: 0.1.0
|
|
110
|
-
- !ruby/object:Gem::Dependency
|
|
111
|
-
name: capistrano-uptodate
|
|
112
|
-
requirement: !ruby/object:Gem::Requirement
|
|
113
|
-
none: false
|
|
114
|
-
requirements:
|
|
115
|
-
- - ! '>='
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: 0.0.2
|
|
118
100
|
type: :runtime
|
|
101
|
+
version_requirements: *id006
|
|
102
|
+
- !ruby/object:Gem::Dependency
|
|
103
|
+
name: capistrano-uptodate
|
|
119
104
|
prerelease: false
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
105
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
segments:
|
|
110
|
+
- 0
|
|
111
|
+
- 0
|
|
112
|
+
- 2
|
|
125
113
|
version: 0.0.2
|
|
126
|
-
- !ruby/object:Gem::Dependency
|
|
127
|
-
name: rvm-capistrano
|
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
none: false
|
|
130
|
-
requirements:
|
|
131
|
-
- - ! '>='
|
|
132
|
-
- !ruby/object:Gem::Version
|
|
133
|
-
version: 1.2.2
|
|
134
114
|
type: :runtime
|
|
115
|
+
version_requirements: *id007
|
|
116
|
+
- !ruby/object:Gem::Dependency
|
|
117
|
+
name: rvm-capistrano
|
|
135
118
|
prerelease: false
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
119
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
segments:
|
|
124
|
+
- 1
|
|
125
|
+
- 2
|
|
126
|
+
- 2
|
|
141
127
|
version: 1.2.2
|
|
142
|
-
- !ruby/object:Gem::Dependency
|
|
143
|
-
name: erubis
|
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
|
145
|
-
none: false
|
|
146
|
-
requirements:
|
|
147
|
-
- - ! '>='
|
|
148
|
-
- !ruby/object:Gem::Version
|
|
149
|
-
version: '0'
|
|
150
128
|
type: :runtime
|
|
129
|
+
version_requirements: *id008
|
|
130
|
+
- !ruby/object:Gem::Dependency
|
|
131
|
+
name: erubis
|
|
151
132
|
prerelease: false
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
133
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
|
134
|
+
requirements:
|
|
135
|
+
- - ">="
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
segments:
|
|
138
|
+
- 0
|
|
139
|
+
version: "0"
|
|
140
|
+
type: :runtime
|
|
141
|
+
version_requirements: *id009
|
|
158
142
|
description: capistrano deployment task for my projects
|
|
159
|
-
email:
|
|
143
|
+
email:
|
|
160
144
|
- michael.schiller@gmx.de
|
|
161
145
|
executables: []
|
|
146
|
+
|
|
162
147
|
extensions: []
|
|
148
|
+
|
|
163
149
|
extra_rdoc_files: []
|
|
164
|
-
|
|
150
|
+
|
|
151
|
+
files:
|
|
165
152
|
- .gitignore
|
|
166
153
|
- Gemfile
|
|
167
154
|
- README.md
|
|
@@ -198,29 +185,35 @@ files:
|
|
|
198
185
|
- lib/examples/deploy.rb
|
|
199
186
|
- lib/mysql.rb
|
|
200
187
|
- lib/util.rb
|
|
188
|
+
has_rdoc: true
|
|
201
189
|
homepage: https://github.com/mschiller/caploy
|
|
202
190
|
licenses: []
|
|
191
|
+
|
|
203
192
|
post_install_message:
|
|
204
193
|
rdoc_options: []
|
|
205
|
-
|
|
194
|
+
|
|
195
|
+
require_paths:
|
|
206
196
|
- lib
|
|
207
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
requirements:
|
|
216
|
-
- -
|
|
217
|
-
- !ruby/object:Gem::Version
|
|
218
|
-
|
|
197
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
198
|
+
requirements:
|
|
199
|
+
- - ">="
|
|
200
|
+
- !ruby/object:Gem::Version
|
|
201
|
+
segments:
|
|
202
|
+
- 0
|
|
203
|
+
version: "0"
|
|
204
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
205
|
+
requirements:
|
|
206
|
+
- - ">="
|
|
207
|
+
- !ruby/object:Gem::Version
|
|
208
|
+
segments:
|
|
209
|
+
- 0
|
|
210
|
+
version: "0"
|
|
219
211
|
requirements: []
|
|
212
|
+
|
|
220
213
|
rubyforge_project:
|
|
221
|
-
rubygems_version: 1.
|
|
214
|
+
rubygems_version: 1.3.6
|
|
222
215
|
signing_key:
|
|
223
216
|
specification_version: 3
|
|
224
217
|
summary: capistrano deployment task for my projects
|
|
225
218
|
test_files: []
|
|
226
|
-
|
|
219
|
+
|