crazycode-cap-recipes 0.4.1 → 0.4.2
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/Rakefile +7 -3
- data/VERSION.yml +2 -2
- data/crazycode-cap-recipes.gemspec +11 -11
- data/lib/cap_recipes/tasks/cmdb.rb +13 -40
- metadata +51 -13
data/Rakefile
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
=begin
|
2
2
|
Using Jeweler for Gem Packaging...
|
3
3
|
|
4
|
-
* Update the version and release version to github:
|
4
|
+
* Update the version and release version to github:
|
5
5
|
$ rake version:bump:patch && rake release && rake gemcutter:release
|
6
|
-
|
6
|
+
|
7
7
|
* Build and install the latest version locally:
|
8
8
|
$ rake install
|
9
|
-
|
9
|
+
|
10
10
|
=end
|
11
11
|
|
12
12
|
require 'rake'
|
@@ -23,6 +23,10 @@ begin
|
|
23
23
|
s.description = "Battle-tested capistrano recipes for debian, passenger, apache, hudson, delayed_job, juggernaut, rubygems, backgroundrb, rails and more"
|
24
24
|
s.authors = ["crazycode"]
|
25
25
|
s.rubyforge_project = 'crazycode-cap-recipes'
|
26
|
+
|
27
|
+
s.add_dependency "capistrano"
|
28
|
+
s.add_dependency "json"
|
29
|
+
s.add_dependency "addressable"
|
26
30
|
end
|
27
31
|
Jeweler::GemcutterTasks.new
|
28
32
|
rescue LoadError
|
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.2"
|
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-23}
|
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,24 +120,24 @@ 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
|
-
]
|
132
123
|
|
133
124
|
if s.respond_to? :specification_version then
|
134
125
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
135
126
|
s.specification_version = 3
|
136
127
|
|
137
128
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
129
|
+
s.add_runtime_dependency(%q<capistrano>, [">= 0"])
|
130
|
+
s.add_runtime_dependency(%q<json>, [">= 0"])
|
131
|
+
s.add_runtime_dependency(%q<addressable>, [">= 0"])
|
138
132
|
else
|
133
|
+
s.add_dependency(%q<capistrano>, [">= 0"])
|
134
|
+
s.add_dependency(%q<json>, [">= 0"])
|
135
|
+
s.add_dependency(%q<addressable>, [">= 0"])
|
139
136
|
end
|
140
137
|
else
|
138
|
+
s.add_dependency(%q<capistrano>, [">= 0"])
|
139
|
+
s.add_dependency(%q<json>, [">= 0"])
|
140
|
+
s.add_dependency(%q<addressable>, [">= 0"])
|
141
141
|
end
|
142
142
|
end
|
143
143
|
|
@@ -18,52 +18,25 @@ Capistrano::Configuration.instance(true).load do |configuration|
|
|
18
18
|
set :deploy_id_file, ".deploy_id"
|
19
19
|
set :tag, ""
|
20
20
|
|
21
|
-
role :app do
|
21
|
+
role :app, :primary => true do
|
22
22
|
CmdbService.get_app_role("#{cse_base}", deploy_unit_code, deploy_stage)
|
23
23
|
end
|
24
|
+
role :single, "1.1.1.1"
|
24
25
|
|
25
26
|
namespace :cmdb do
|
26
27
|
|
27
|
-
|
28
|
-
task :start do
|
29
|
-
if File.exists? deploy_id_file
|
30
|
-
puts "Previous Deploy NOT Complete, please run 'cap cmdb:failback' first."
|
31
|
-
exit(1)
|
32
|
-
end
|
33
|
-
|
34
|
-
deploy_id = CmdbService.start_deploy("#{cse_base}", deploy_unit_code, deploy_stage, tag)
|
35
|
-
|
36
|
-
open(deploy_id_file, 'w') do |f|
|
37
|
-
f.write deploy_id
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
desc "set current deploy FAILBACK!"
|
42
|
-
task :failback do
|
43
|
-
deploy_id = CmdbService.get_deploy_id(deploy_id_file)
|
44
|
-
unless deploy_id.nil?
|
45
|
-
CmdbService.complete_deploy(cse_base, deploy_unit_code, deploy_id, false, "capistrano部署失败,撤销发布")
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
desc "set current deploy success DONE!"
|
50
|
-
task :done do
|
51
|
-
deploy_id = CmdbService.get_deploy_id(deploy_id_file)
|
52
|
-
puts "deploy_id=#{deploy_id}, file=#{deploy_id_file}"
|
53
|
-
CmdbService.complete_deploy(cse_base, deploy_unit_code, deploy_id, true, "通过capistrano部署成功")
|
54
|
-
File.delete deploy_id_file
|
55
|
-
end
|
56
|
-
|
57
28
|
desc "deploy to tomcat"
|
58
|
-
task :deploy_to_tomcat do
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
29
|
+
task :deploy_to_tomcat, :roles => :single do
|
30
|
+
codes = deploy_unit_code.split(/[,;\s]+/)
|
31
|
+
deploy_hash = Hash.new
|
32
|
+
codes.each {|code| deploy_hash[code] = CmdbService.start_deploy(cse_base, code, deploy_stage, tag) }
|
33
|
+
begin
|
34
|
+
gitdeploy.deploy
|
35
|
+
tomcat.restart
|
36
|
+
deploy_hash.each {|code, deployid| CmdbService.complete_deploy(cse_base, code, deployid, true, "通过capistrano部署成功") }
|
37
|
+
rescue Exception => e
|
38
|
+
deploy_hash.each {|code, deployid| CmdbService.complete_deploy(cse_base, code, deployid, false, "capistrano部署失败,撤销发布,原因:#{e.message}") }
|
39
|
+
end
|
67
40
|
end
|
68
41
|
|
69
42
|
end
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crazycode-cap-recipes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 11
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
8
|
- 4
|
8
|
-
-
|
9
|
-
version: 0.4.
|
9
|
+
- 2
|
10
|
+
version: 0.4.2
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- crazycode
|
@@ -14,10 +15,51 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2011-08-
|
18
|
+
date: 2011-08-23 00:00:00 +08:00
|
18
19
|
default_executable: cap-recipes
|
19
|
-
dependencies:
|
20
|
-
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: capistrano
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: json
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
47
|
+
type: :runtime
|
48
|
+
version_requirements: *id002
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: addressable
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
61
|
+
type: :runtime
|
62
|
+
version_requirements: *id003
|
21
63
|
description: Battle-tested capistrano recipes for debian, passenger, apache, hudson, delayed_job, juggernaut, rubygems, backgroundrb, rails and more
|
22
64
|
email: crazycode@gmail.com
|
23
65
|
executables:
|
@@ -137,6 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
137
179
|
requirements:
|
138
180
|
- - ">="
|
139
181
|
- !ruby/object:Gem::Version
|
182
|
+
hash: 3
|
140
183
|
segments:
|
141
184
|
- 0
|
142
185
|
version: "0"
|
@@ -145,6 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
188
|
requirements:
|
146
189
|
- - ">="
|
147
190
|
- !ruby/object:Gem::Version
|
191
|
+
hash: 3
|
148
192
|
segments:
|
149
193
|
- 0
|
150
194
|
version: "0"
|
@@ -155,11 +199,5 @@ rubygems_version: 1.3.7
|
|
155
199
|
signing_key:
|
156
200
|
specification_version: 3
|
157
201
|
summary: Battle-tested capistrano recipes for passenger, delayed_job, and more
|
158
|
-
test_files:
|
159
|
-
|
160
|
-
- examples/advanced/deploy/experimental.rb
|
161
|
-
- examples/advanced/deploy/production.rb
|
162
|
-
- examples/simple/deploy.rb
|
163
|
-
- spec/cap/helper.rb
|
164
|
-
- spec/cap_recipes_spec.rb
|
165
|
-
- spec/spec_helper.rb
|
202
|
+
test_files: []
|
203
|
+
|