crazycode-cap-recipes 0.4.5 → 0.4.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.yml +2 -2
- data/crazycode-cap-recipes.gemspec +11 -2
- data/lib/cap_recipes/tasks/cmdb.rb +1 -8
- data/lib/cap_recipes/tasks/cmdbutils.rb +12 -0
- data/lib/cap_recipes/tasks/sdpjenkins.rb +10 -12
- metadata +11 -11
data/VERSION.yml
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{crazycode-cap-recipes}
|
|
8
|
-
s.version = "0.4.
|
|
8
|
+
s.version = "0.4.6"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["crazycode"]
|
|
12
|
-
s.date = %q{2011-08-
|
|
12
|
+
s.date = %q{2011-08-24}
|
|
13
13
|
s.default_executable = %q{cap-recipes}
|
|
14
14
|
s.description = %q{Battle-tested capistrano recipes for debian, passenger, apache, hudson, delayed_job, juggernaut, rubygems, backgroundrb, rails and more}
|
|
15
15
|
s.email = %q{crazycode@gmail.com}
|
|
@@ -120,6 +120,15 @@ Gem::Specification.new do |s|
|
|
|
120
120
|
s.rubyforge_project = %q{crazycode-cap-recipes}
|
|
121
121
|
s.rubygems_version = %q{1.3.7}
|
|
122
122
|
s.summary = %q{Battle-tested capistrano recipes for passenger, delayed_job, and more}
|
|
123
|
+
s.test_files = [
|
|
124
|
+
"examples/advanced/deploy.rb",
|
|
125
|
+
"examples/advanced/deploy/experimental.rb",
|
|
126
|
+
"examples/advanced/deploy/production.rb",
|
|
127
|
+
"examples/simple/deploy.rb",
|
|
128
|
+
"spec/cap/helper.rb",
|
|
129
|
+
"spec/cap_recipes_spec.rb",
|
|
130
|
+
"spec/spec_helper.rb"
|
|
131
|
+
]
|
|
123
132
|
|
|
124
133
|
if s.respond_to? :specification_version then
|
|
125
134
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
|
@@ -26,17 +26,10 @@ Capistrano::Configuration.instance(true).load do |configuration|
|
|
|
26
26
|
|
|
27
27
|
desc "deploy to tomcat"
|
|
28
28
|
task :deploy_to_tomcat, :roles => :single do
|
|
29
|
-
|
|
30
|
-
deploy_hash = Hash.new
|
|
31
|
-
codes.each {|code| deploy_hash[code] = CmdbService.start_deploy(cse_base, code, deploy_stage, build_version) }
|
|
32
|
-
begin
|
|
29
|
+
CmdbService.do_deploy(cse_base, deploy_unit_code, deploy_stage, version.strip) do
|
|
33
30
|
gitdeploy.deploy
|
|
34
31
|
tomcat.restart
|
|
35
|
-
deploy_hash.each {|code, deployid| CmdbService.complete_deploy(cse_base, code, deployid, true, "通过capistrano部署成功") }
|
|
36
|
-
rescue Exception => e
|
|
37
|
-
deploy_hash.each {|code, deployid| CmdbService.complete_deploy(cse_base, code, deployid, false, "capistrano部署失败,撤销发布,原因:#{e.message}") }
|
|
38
32
|
end
|
|
39
33
|
end
|
|
40
|
-
|
|
41
34
|
end
|
|
42
35
|
end
|
|
@@ -109,4 +109,16 @@ class CmdbService
|
|
|
109
109
|
deploy_id
|
|
110
110
|
end
|
|
111
111
|
|
|
112
|
+
def self.do_deploy(cse_base, unit_code, stage, version)
|
|
113
|
+
codes = unit_code.split(/[,;\s]+/)
|
|
114
|
+
deploy_hash = Hash.new
|
|
115
|
+
codes.each {|code| deploy_hash[code] = CmdbService.start_deploy(cse_base, code, stage, version) }
|
|
116
|
+
|
|
117
|
+
begin
|
|
118
|
+
yield
|
|
119
|
+
deploy_hash.each {|code, deployid| CmdbService.complete_deploy(cse_base, code, deployid, true, "通过capistrano部署成功") }
|
|
120
|
+
rescue Exception => e
|
|
121
|
+
deploy_hash.each {|code, deployid| CmdbService.complete_deploy(cse_base, code, deployid, false, "capistrano部署失败,撤销发布,原因:#{e.message}") }
|
|
122
|
+
end
|
|
123
|
+
end
|
|
112
124
|
end
|
|
@@ -22,9 +22,9 @@ Capistrano::Configuration.instance(true).load do |configuration|
|
|
|
22
22
|
_cset :shell_commands, "cd #{upload_dir}; ls -all"
|
|
23
23
|
_cset :build_version, "unset version"
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
role :app, :primary => true do
|
|
26
|
+
CmdbService.get_app_role("#{cse_base}", deploy_unit_code, deploy_stage)
|
|
27
|
+
end
|
|
28
28
|
|
|
29
29
|
role :single, "1.1.1.1"
|
|
30
30
|
|
|
@@ -60,7 +60,7 @@ Capistrano::Configuration.instance(true).load do |configuration|
|
|
|
60
60
|
cp file, "#{release_dir}/#{target_name}"
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
-
system "echo \"#{build_version}\"
|
|
63
|
+
system "echo \"#{build_version}\" >> #{release_dir}/version.txt"
|
|
64
64
|
|
|
65
65
|
end
|
|
66
66
|
|
|
@@ -85,18 +85,16 @@ Capistrano::Configuration.instance(true).load do |configuration|
|
|
|
85
85
|
|
|
86
86
|
desc "upload release file, then execute commands"
|
|
87
87
|
task :deploy, :roles => :single do
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
version = build_version
|
|
89
|
+
if version.empty? && File.exists?("#{release_dir}/version.txt")
|
|
90
|
+
version = File.open("#{release_dir}/version.txt") { |f| f.extend(Enumerable).inject { |_,ln| ln } }
|
|
91
|
+
end
|
|
92
|
+
puts "version=#{version}"
|
|
91
93
|
|
|
92
|
-
|
|
94
|
+
CmdbService.do_deploy(cse_base, deploy_unit_code, deploy_stage, version.strip) do
|
|
93
95
|
upload_file
|
|
94
96
|
execute_commands
|
|
95
|
-
deploy_hash.each {|code, deployid| CmdbService.complete_deploy(cse_base, code, deployid, true, "通过capistrano部署成功") }
|
|
96
|
-
rescue Exception => e
|
|
97
|
-
deploy_hash.each {|code, deployid| CmdbService.complete_deploy(cse_base, code, deployid, false, "capistrano部署失败,撤销发布,原因:#{e.message}") }
|
|
98
97
|
end
|
|
99
|
-
|
|
100
98
|
end
|
|
101
99
|
|
|
102
100
|
end
|
metadata
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: crazycode-cap-recipes
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash: 5
|
|
5
4
|
prerelease: false
|
|
6
5
|
segments:
|
|
7
6
|
- 0
|
|
8
7
|
- 4
|
|
9
|
-
-
|
|
10
|
-
version: 0.4.
|
|
8
|
+
- 6
|
|
9
|
+
version: 0.4.6
|
|
11
10
|
platform: ruby
|
|
12
11
|
authors:
|
|
13
12
|
- crazycode
|
|
@@ -15,7 +14,7 @@ autorequire:
|
|
|
15
14
|
bindir: bin
|
|
16
15
|
cert_chain: []
|
|
17
16
|
|
|
18
|
-
date: 2011-08-
|
|
17
|
+
date: 2011-08-24 00:00:00 +08:00
|
|
19
18
|
default_executable: cap-recipes
|
|
20
19
|
dependencies:
|
|
21
20
|
- !ruby/object:Gem::Dependency
|
|
@@ -26,7 +25,6 @@ dependencies:
|
|
|
26
25
|
requirements:
|
|
27
26
|
- - ">="
|
|
28
27
|
- !ruby/object:Gem::Version
|
|
29
|
-
hash: 3
|
|
30
28
|
segments:
|
|
31
29
|
- 0
|
|
32
30
|
version: "0"
|
|
@@ -40,7 +38,6 @@ dependencies:
|
|
|
40
38
|
requirements:
|
|
41
39
|
- - ">="
|
|
42
40
|
- !ruby/object:Gem::Version
|
|
43
|
-
hash: 3
|
|
44
41
|
segments:
|
|
45
42
|
- 0
|
|
46
43
|
version: "0"
|
|
@@ -54,7 +51,6 @@ dependencies:
|
|
|
54
51
|
requirements:
|
|
55
52
|
- - ">="
|
|
56
53
|
- !ruby/object:Gem::Version
|
|
57
|
-
hash: 3
|
|
58
54
|
segments:
|
|
59
55
|
- 0
|
|
60
56
|
version: "0"
|
|
@@ -179,7 +175,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
179
175
|
requirements:
|
|
180
176
|
- - ">="
|
|
181
177
|
- !ruby/object:Gem::Version
|
|
182
|
-
hash: 3
|
|
183
178
|
segments:
|
|
184
179
|
- 0
|
|
185
180
|
version: "0"
|
|
@@ -188,7 +183,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
188
183
|
requirements:
|
|
189
184
|
- - ">="
|
|
190
185
|
- !ruby/object:Gem::Version
|
|
191
|
-
hash: 3
|
|
192
186
|
segments:
|
|
193
187
|
- 0
|
|
194
188
|
version: "0"
|
|
@@ -199,5 +193,11 @@ rubygems_version: 1.3.7
|
|
|
199
193
|
signing_key:
|
|
200
194
|
specification_version: 3
|
|
201
195
|
summary: Battle-tested capistrano recipes for passenger, delayed_job, and more
|
|
202
|
-
test_files:
|
|
203
|
-
|
|
196
|
+
test_files:
|
|
197
|
+
- examples/advanced/deploy.rb
|
|
198
|
+
- examples/advanced/deploy/experimental.rb
|
|
199
|
+
- examples/advanced/deploy/production.rb
|
|
200
|
+
- examples/simple/deploy.rb
|
|
201
|
+
- spec/cap/helper.rb
|
|
202
|
+
- spec/cap_recipes_spec.rb
|
|
203
|
+
- spec/spec_helper.rb
|