engineyard-serverside 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/engineyard-serverside/configuration.rb +4 -0
- data/lib/engineyard-serverside/deploy.rb +20 -14
- data/lib/engineyard-serverside/deploy_hook.rb +0 -3
- data/lib/engineyard-serverside/version.rb +1 -1
- data/lib/engineyard-serverside/version_flymake.rb +3 -0
- data/spec/deploy_hook_spec.rb +0 -12
- data/spec/lockfile_parser_spec.rb +4 -4
- metadata +25 -5
@@ -126,7 +126,7 @@ module EY
|
|
126
126
|
get_bundler_installer(lockfile)
|
127
127
|
else
|
128
128
|
warn_about_missing_lockfile
|
129
|
-
BundleInstaller.new(
|
129
|
+
BundleInstaller.new(default_09_bundler, "--without=development --without=test")
|
130
130
|
end
|
131
131
|
|
132
132
|
sudo "#{$0} _#{VERSION}_ install_bundler #{bundler_installer.version}"
|
@@ -220,13 +220,19 @@ module EY
|
|
220
220
|
def callback(what)
|
221
221
|
@callbacks_reached ||= true
|
222
222
|
if File.exist?("#{c.release_path}/deploy/#{what}.rb")
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
223
|
+
base_command = [$0, "_#{VERSION}_", 'hook', what.to_s,
|
224
|
+
'--app', config.app.to_s,
|
225
|
+
'--release-path', config.release_path.to_s,
|
226
|
+
]
|
227
|
+
|
228
|
+
run Escape.shell_command(base_command) do |server, cmd|
|
229
|
+
per_instance_args = [
|
230
|
+
'--framework-env', c.environment.to_s,
|
231
|
+
'--current-role', server.role.to_s,
|
232
|
+
'--config', c.to_json,
|
233
|
+
]
|
234
|
+
per_instance_args << '--current-name' << server.name.to_s if server.name
|
235
|
+
cmd << " " << Escape.shell_command(per_instance_args)
|
230
236
|
end
|
231
237
|
end
|
232
238
|
end
|
@@ -268,9 +274,6 @@ module EY
|
|
268
274
|
sudo "rm -rf #{c.release_path}"
|
269
275
|
end
|
270
276
|
|
271
|
-
DEFAULT_09_BUNDLER = '0.9.26'
|
272
|
-
DEFAULT_10_BUNDLER = '1.0.0.rc.3'
|
273
|
-
|
274
277
|
def warn_about_missing_lockfile
|
275
278
|
info "!>"
|
276
279
|
info "!> WARNING: Gemfile.lock is missing!"
|
@@ -281,7 +284,7 @@ module EY
|
|
281
284
|
info "!> Fix this by running \"git add Gemfile.lock; git commit\" and deploying again."
|
282
285
|
info "!> If you don't have a Gemfile.lock, run \"bundle lock\" to create one."
|
283
286
|
info "!>"
|
284
|
-
info "!> This deployment will use bundler #{
|
287
|
+
info "!> This deployment will use bundler #{default_09_bundler} to run 'bundle install'."
|
285
288
|
info "!>"
|
286
289
|
end
|
287
290
|
|
@@ -290,11 +293,11 @@ module EY
|
|
290
293
|
case parser.lockfile_version
|
291
294
|
when :bundler09
|
292
295
|
BundleInstaller.new(
|
293
|
-
parser.bundler_version ||
|
296
|
+
parser.bundler_version || default_09_bundler,
|
294
297
|
"--without=development --without=test")
|
295
298
|
when :bundler10
|
296
299
|
BundleInstaller.new(
|
297
|
-
parser.bundler_version ||
|
300
|
+
parser.bundler_version || default_10_bundler,
|
298
301
|
"--deployment --path #{c.shared_path}/bundled_gems --without development test"
|
299
302
|
)
|
300
303
|
else
|
@@ -303,6 +306,9 @@ module EY
|
|
303
306
|
end
|
304
307
|
public :get_bundler_installer
|
305
308
|
|
309
|
+
def default_09_bundler() "0.9.26" end
|
310
|
+
def default_10_bundler() "1.0.0.rc.6" end
|
311
|
+
|
306
312
|
end # DeployBase
|
307
313
|
|
308
314
|
class Deploy < DeployBase
|
@@ -57,9 +57,6 @@ module EY
|
|
57
57
|
# convenience functions for running on certain instance types
|
58
58
|
def on_app_master(&blk) on_roles(%w[solo app_master], &blk) end
|
59
59
|
def on_app_servers(&blk) on_roles(%w[solo app_master app], &blk) end
|
60
|
-
def on_db_master(&blk) on_roles(%w[solo db_master], &blk) end
|
61
|
-
def on_db_slaves(&blk) on_roles(%w[db_slave], &blk) end
|
62
|
-
def on_db_servers(&blk) on_roles(%w[solo db_master db_slave], &blk) end
|
63
60
|
def on_app_servers_and_utilities(&blk) on_roles(%w[solo app_master app util], &blk) end
|
64
61
|
|
65
62
|
def on_utilities(*names, &blk)
|
data/spec/deploy_hook_spec.rb
CHANGED
@@ -157,18 +157,6 @@ describe "the deploy-hook API" do
|
|
157
157
|
where_code_runs_with(:on_app_servers).should == %w(solo app_master app)
|
158
158
|
end
|
159
159
|
|
160
|
-
it "#on_db_master runs on DB masters and solos" do
|
161
|
-
where_code_runs_with(:on_db_master).should == %w(solo db_master)
|
162
|
-
end
|
163
|
-
|
164
|
-
it "#on_db_slaves runs on DB slaves only (not solos or masters)" do
|
165
|
-
where_code_runs_with(:on_db_slaves).should == %w(db_slave)
|
166
|
-
end
|
167
|
-
|
168
|
-
it "#on_db_servers runs on DB masters, DB slaves, and solos" do
|
169
|
-
where_code_runs_with(:on_db_servers).should == %w(solo db_master db_slave)
|
170
|
-
end
|
171
|
-
|
172
160
|
it "#on_app_servers_and_utilities does what it says on the tin" do
|
173
161
|
where_code_runs_with(:on_app_servers_and_utilities).should ==
|
174
162
|
%w(solo app_master app util_alpha util_beta util_gamma)
|
@@ -3,12 +3,12 @@ require File.dirname(__FILE__) + '/spec_helper'
|
|
3
3
|
describe "the bundler version retrieved from the lockfile" do
|
4
4
|
def get_version(file)
|
5
5
|
full_path = File.expand_path("../support/lockfiles/#{file}", __FILE__)
|
6
|
-
config = EY::Deploy::Configuration.new('deploy_to' => 'dontcare')
|
7
|
-
EY::DeployBase.new(config).get_bundler_installer(full_path).version
|
6
|
+
@config = EY::Deploy::Configuration.new('deploy_to' => 'dontcare')
|
7
|
+
EY::DeployBase.new(@config).get_bundler_installer(full_path).version
|
8
8
|
end
|
9
9
|
|
10
10
|
it "returns the default version for an 0.9 lockfile without a bundler dependency" do
|
11
|
-
get_version('0.9-no-bundler').should == EY::DeployBase
|
11
|
+
get_version('0.9-no-bundler').should == EY::DeployBase.new(@config).send(:default_09_bundler)
|
12
12
|
end
|
13
13
|
|
14
14
|
it "gets the version from an 0.9 lockfile with a bundler dependency" do
|
@@ -16,7 +16,7 @@ describe "the bundler version retrieved from the lockfile" do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it "returns the default version for a 1.0 lockfile without a bundler dependency" do
|
19
|
-
get_version('1.0-no-bundler').should == EY::DeployBase
|
19
|
+
get_version('1.0-no-bundler').should == EY::DeployBase.new(@config).send(:default_10_bundler)
|
20
20
|
end
|
21
21
|
|
22
22
|
it "gets the version from a 1.0.0.rc.1 lockfile w/dependency on 1.0.0.rc.1" do
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engineyard-serverside
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 1
|
7
8
|
- 2
|
8
|
-
-
|
9
|
-
version: 1.2.
|
9
|
+
- 1
|
10
|
+
version: 1.2.1
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- EY Cloud Team
|
@@ -14,7 +15,7 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date: 2010-08-
|
18
|
+
date: 2010-08-25 00:00:00 -07:00
|
18
19
|
default_executable: engineyard-serverside
|
19
20
|
dependencies: []
|
20
21
|
|
@@ -40,6 +41,7 @@ files:
|
|
40
41
|
- lib/engineyard-serverside/strategies/git.rb
|
41
42
|
- lib/engineyard-serverside/task.rb
|
42
43
|
- lib/engineyard-serverside/version.rb
|
44
|
+
- lib/engineyard-serverside/version_flymake.rb
|
43
45
|
- lib/engineyard-serverside.rb
|
44
46
|
- lib/vendor/dataflow/dataflow/actor.rb
|
45
47
|
- lib/vendor/dataflow/dataflow/equality.rb
|
@@ -232,8 +234,22 @@ files:
|
|
232
234
|
- lib/vendor/thor/thor.gemspec
|
233
235
|
- lib/vendor/thor/Thorfile
|
234
236
|
- LICENSE
|
237
|
+
- spec/custom_deploy_spec.rb
|
238
|
+
- spec/deploy_hook_spec.rb
|
239
|
+
- spec/fixtures/gitrepo/foo
|
240
|
+
- spec/fixtures/gitrepo.tar.gz
|
241
|
+
- spec/fixtures/invalid_hook.rb
|
242
|
+
- spec/fixtures/valid_hook.rb
|
243
|
+
- spec/git_strategy_spec.rb
|
244
|
+
- spec/lockfile_parser_spec.rb
|
245
|
+
- spec/spec_helper.rb
|
246
|
+
- spec/support/lockfiles/0.9-no-bundler
|
247
|
+
- spec/support/lockfiles/0.9-with-bundler
|
248
|
+
- spec/support/lockfiles/1.0-no-bundler
|
249
|
+
- spec/support/lockfiles/1.0.0.rc.1-with-bundler
|
250
|
+
- spec/support/lockfiles/not-a-lockfile
|
235
251
|
has_rdoc: true
|
236
|
-
homepage: http://
|
252
|
+
homepage: http://github.com/engineyard/engineyard-serverside
|
237
253
|
licenses: []
|
238
254
|
|
239
255
|
post_install_message:
|
@@ -242,23 +258,27 @@ rdoc_options: []
|
|
242
258
|
require_paths:
|
243
259
|
- lib
|
244
260
|
required_ruby_version: !ruby/object:Gem::Requirement
|
261
|
+
none: false
|
245
262
|
requirements:
|
246
263
|
- - ">="
|
247
264
|
- !ruby/object:Gem::Version
|
265
|
+
hash: 3
|
248
266
|
segments:
|
249
267
|
- 0
|
250
268
|
version: "0"
|
251
269
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
|
+
none: false
|
252
271
|
requirements:
|
253
272
|
- - ">="
|
254
273
|
- !ruby/object:Gem::Version
|
274
|
+
hash: 3
|
255
275
|
segments:
|
256
276
|
- 0
|
257
277
|
version: "0"
|
258
278
|
requirements: []
|
259
279
|
|
260
280
|
rubyforge_project:
|
261
|
-
rubygems_version: 1.3.
|
281
|
+
rubygems_version: 1.3.7
|
262
282
|
signing_key:
|
263
283
|
specification_version: 3
|
264
284
|
summary: A gem that deploys ruby applications on EY Cloud instances
|