deployto 0.9.4 → 0.9.5
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/deploytool/command.rb
CHANGED
@@ -82,7 +82,7 @@ class DeployTool::Command
|
|
82
82
|
target.push(opts)
|
83
83
|
rescue => e
|
84
84
|
puts e
|
85
|
-
puts "\nPlease contact %s support: %s" % [EfficientCloud.cloud_name, EfficientCloud.support_email]
|
85
|
+
puts "\nPlease contact %s support: %s" % [DeployTool::Target::EfficientCloud.cloud_name, DeployTool::Target::EfficientCloud.support_email]
|
86
86
|
exit 2
|
87
87
|
end
|
88
88
|
DeployTool::Config[args[0]] = target.to_h
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'rexml/document'
|
2
1
|
require 'addressable/uri'
|
3
2
|
require 'net/http'
|
4
3
|
require 'net/http/post/multipart'
|
@@ -35,7 +34,8 @@ class DeployTool::Target::EfficientCloud
|
|
35
34
|
end
|
36
35
|
|
37
36
|
def call(method, method_name, data = {})
|
38
|
-
|
37
|
+
method_name = '/' + method_name unless method_name.nil?
|
38
|
+
url = Addressable::URI.parse("http://#{@server}/api/cli/v1/apps/#{@app_name}#{method_name}.json")
|
39
39
|
client = OAuth2::Client.new(CLIENT_ID, CLIENT_SECRET, :site => "http://#{server}/", :token_url => '/oauth2/token', :raise_errors => false) do |builder|
|
40
40
|
builder.use Faraday::Request::Multipart
|
41
41
|
builder.use Faraday::Request::UrlEncoded
|
@@ -118,12 +118,14 @@ class DeployTool::Target::EfficientCloud
|
|
118
118
|
@refresh_token = token.refresh_token
|
119
119
|
@auth_method = :refresh_token
|
120
120
|
|
121
|
-
|
121
|
+
opts = method==:get ? {:params => data} : {:body => data}
|
122
|
+
opts.merge!({:headers => {'Accept' => 'application/json'}})
|
123
|
+
response = token.request(method, url.path, opts)
|
122
124
|
if response.status != 200
|
123
125
|
details = MultiJson.decode(response.body) rescue nil
|
124
126
|
raise "#{response.status} #{details}"
|
125
127
|
end
|
126
|
-
response
|
128
|
+
MultiJson.decode(response.body)
|
127
129
|
end
|
128
130
|
|
129
131
|
def to_h
|
@@ -131,12 +133,12 @@ class DeployTool::Target::EfficientCloud
|
|
131
133
|
end
|
132
134
|
|
133
135
|
def info
|
134
|
-
response = call :get,
|
136
|
+
response = call :get, nil
|
135
137
|
return nil if not response
|
136
|
-
doc = REXML::Document.new response.body
|
137
138
|
data = {}
|
138
|
-
|
139
|
-
|
139
|
+
response["app"].each do |k,v|
|
140
|
+
next unless v === String
|
141
|
+
data[k.to_sym] = v
|
140
142
|
end
|
141
143
|
data
|
142
144
|
end
|
@@ -171,16 +173,13 @@ class DeployTool::Target::EfficientCloud
|
|
171
173
|
|
172
174
|
puts "-----> Uploading %s code tarball..." % human_filesize(tempfile.path)
|
173
175
|
initial_response = call :post, 'upload', {:code => Faraday::UploadIO.new(tempfile, "application/zip")}
|
174
|
-
|
175
|
-
doc.elements["code/code-token"].text
|
176
|
+
initial_response["code_token"]
|
176
177
|
end
|
177
178
|
|
178
179
|
def deploy(code_token)
|
179
180
|
initial_response = call :post, 'deploy', {:code_token => code_token}
|
180
181
|
return nil if not initial_response
|
181
|
-
|
182
|
-
deploy_token = doc.elements["deploy/token"].text
|
183
|
-
deploy_token
|
182
|
+
initial_response["token"]
|
184
183
|
end
|
185
184
|
|
186
185
|
def save_timing_data(data)
|
@@ -198,19 +197,18 @@ class DeployTool::Target::EfficientCloud
|
|
198
197
|
while true
|
199
198
|
sleep 1
|
200
199
|
resp = call :get, 'deploy_status', {:deploy_token => deploy_token}
|
201
|
-
doc = REXML::Document.new resp.body
|
202
200
|
|
203
|
-
if
|
201
|
+
if resp["message"].nil?
|
204
202
|
puts resp
|
205
203
|
puts "...possibly done."
|
206
204
|
break
|
207
205
|
end
|
208
|
-
if
|
206
|
+
if resp["message"] == 'finished'
|
209
207
|
puts "\n-----> FINISHED after %d seconds!" % (Time.now-start)
|
210
208
|
break
|
211
209
|
end
|
212
210
|
|
213
|
-
status =
|
211
|
+
status = resp["message"].gsub('["', '').gsub('"]', '')
|
214
212
|
if previous_status != status
|
215
213
|
case status
|
216
214
|
when "build"
|
@@ -225,7 +223,7 @@ class DeployTool::Target::EfficientCloud
|
|
225
223
|
previous_status = status
|
226
224
|
end
|
227
225
|
|
228
|
-
logs =
|
226
|
+
logs = resp["logs"]
|
229
227
|
if logs
|
230
228
|
puts "" if status != "build" # Add newline after the dots
|
231
229
|
puts logs
|
@@ -255,4 +253,3 @@ class DeployTool::Target::EfficientCloud
|
|
255
253
|
end
|
256
254
|
end
|
257
255
|
end
|
258
|
-
|
data/lib/deploytool/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deployto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
4
|
+
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
8
|
+
- 5
|
9
|
+
version: 0.9.5
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Efficient Cloud Ltd
|
@@ -15,17 +14,16 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2011-
|
17
|
+
date: 2011-10-20 00:00:00 +02:00
|
18
|
+
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: inifile
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
-
none: false
|
25
24
|
requirements:
|
26
25
|
- - ">="
|
27
26
|
- !ruby/object:Gem::Version
|
28
|
-
hash: 13
|
29
27
|
segments:
|
30
28
|
- 0
|
31
29
|
- 4
|
@@ -37,11 +35,9 @@ dependencies:
|
|
37
35
|
name: addressable
|
38
36
|
prerelease: false
|
39
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
|
-
none: false
|
41
38
|
requirements:
|
42
39
|
- - ">="
|
43
40
|
- !ruby/object:Gem::Version
|
44
|
-
hash: 3
|
45
41
|
segments:
|
46
42
|
- 0
|
47
43
|
version: "0"
|
@@ -51,11 +47,9 @@ dependencies:
|
|
51
47
|
name: multipart-post
|
52
48
|
prerelease: false
|
53
49
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
-
none: false
|
55
50
|
requirements:
|
56
51
|
- - ">="
|
57
52
|
- !ruby/object:Gem::Version
|
58
|
-
hash: 3
|
59
53
|
segments:
|
60
54
|
- 0
|
61
55
|
version: "0"
|
@@ -65,11 +59,9 @@ dependencies:
|
|
65
59
|
name: highline
|
66
60
|
prerelease: false
|
67
61
|
requirement: &id004 !ruby/object:Gem::Requirement
|
68
|
-
none: false
|
69
62
|
requirements:
|
70
63
|
- - ">="
|
71
64
|
- !ruby/object:Gem::Version
|
72
|
-
hash: 11
|
73
65
|
segments:
|
74
66
|
- 1
|
75
67
|
- 6
|
@@ -81,11 +73,9 @@ dependencies:
|
|
81
73
|
name: zip
|
82
74
|
prerelease: false
|
83
75
|
requirement: &id005 !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
76
|
requirements:
|
86
77
|
- - ">="
|
87
78
|
- !ruby/object:Gem::Version
|
88
|
-
hash: 3
|
89
79
|
segments:
|
90
80
|
- 0
|
91
81
|
version: "0"
|
@@ -95,11 +85,9 @@ dependencies:
|
|
95
85
|
name: json_pure
|
96
86
|
prerelease: false
|
97
87
|
requirement: &id006 !ruby/object:Gem::Requirement
|
98
|
-
none: false
|
99
88
|
requirements:
|
100
89
|
- - ">="
|
101
90
|
- !ruby/object:Gem::Version
|
102
|
-
hash: 3
|
103
91
|
segments:
|
104
92
|
- 0
|
105
93
|
version: "0"
|
@@ -109,17 +97,15 @@ dependencies:
|
|
109
97
|
name: oauth2
|
110
98
|
prerelease: false
|
111
99
|
requirement: &id007 !ruby/object:Gem::Requirement
|
112
|
-
none: false
|
113
100
|
requirements:
|
114
101
|
- - ">="
|
115
102
|
- !ruby/object:Gem::Version
|
116
|
-
hash: 3
|
117
103
|
segments:
|
118
104
|
- 0
|
119
105
|
version: "0"
|
120
106
|
type: :runtime
|
121
107
|
version_requirements: *id007
|
122
|
-
description: Deployment tool
|
108
|
+
description: Deployment tool for web application platforms powered by EFC.
|
123
109
|
email: hello@platformdirectory.com
|
124
110
|
executables:
|
125
111
|
- deploy
|
@@ -140,6 +126,7 @@ files:
|
|
140
126
|
- spec/spec.opts
|
141
127
|
- spec/spec_helper.rb
|
142
128
|
- spec/target_spec.rb
|
129
|
+
has_rdoc: true
|
143
130
|
homepage: http://platformdirectory.com/
|
144
131
|
licenses: []
|
145
132
|
|
@@ -149,27 +136,23 @@ rdoc_options: []
|
|
149
136
|
require_paths:
|
150
137
|
- lib
|
151
138
|
required_ruby_version: !ruby/object:Gem::Requirement
|
152
|
-
none: false
|
153
139
|
requirements:
|
154
140
|
- - ">="
|
155
141
|
- !ruby/object:Gem::Version
|
156
|
-
hash: 3
|
157
142
|
segments:
|
158
143
|
- 0
|
159
144
|
version: "0"
|
160
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
146
|
requirements:
|
163
147
|
- - ">="
|
164
148
|
- !ruby/object:Gem::Version
|
165
|
-
hash: 3
|
166
149
|
segments:
|
167
150
|
- 0
|
168
151
|
version: "0"
|
169
152
|
requirements: []
|
170
153
|
|
171
154
|
rubyforge_project:
|
172
|
-
rubygems_version: 1.
|
155
|
+
rubygems_version: 1.3.6
|
173
156
|
signing_key:
|
174
157
|
specification_version: 3
|
175
158
|
summary: Multi-platform deployment tool.
|