engineyard-serverside 1.5.28.pre1 → 1.5.28.pre2
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.
@@ -215,21 +215,10 @@ module EY
|
|
215
215
|
servers = EY::Serverside::Server.all.find_all { |server| !server.local? }
|
216
216
|
|
217
217
|
futures = EY::Serverside::Future.call(servers) do |server|
|
218
|
-
|
219
|
-
# the [,)] is to stop us from looking for e.g. 0.5.1, seeing
|
220
|
-
# 0.5.11, and mistakenly thinking 0.5.1 is there
|
221
|
-
has_gem_cmd = "#{gem_binary} list engineyard-serverside | grep \"engineyard-serverside\" | egrep -q '#{egrep_escaped_version}[,)]'"
|
222
|
-
|
223
|
-
if !server.run(has_gem_cmd) # doesn't have this exact version
|
218
|
+
if !server.gem?('engineyard-serverside', EY::Serverside::VERSION) # doesn't have this exact version
|
224
219
|
puts "~> Installing engineyard-serverside on #{server.hostname}"
|
225
220
|
|
226
|
-
|
227
|
-
'scp', '-i', "#{ENV['HOME']}/.ssh/internal",
|
228
|
-
"-o", "StrictHostKeyChecking=no",
|
229
|
-
local_gem_file,
|
230
|
-
"#{config.user}@#{server.hostname}:#{remote_gem_file}",
|
231
|
-
]))
|
232
|
-
server.run("sudo #{gem_binary} install --no-rdoc --no-ri '#{remote_gem_file}'")
|
221
|
+
server.install_gem(local_gem_file, remote_gem_file)
|
233
222
|
end
|
234
223
|
end
|
235
224
|
|
@@ -83,12 +83,39 @@ module EY
|
|
83
83
|
if local?
|
84
84
|
logged_system(command)
|
85
85
|
else
|
86
|
-
logged_system(ssh_command +
|
86
|
+
logged_system(ssh_command + Escape.shell_command(["#{user}@#{hostname}", command]))
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
90
|
def ssh_command
|
91
|
-
"ssh
|
91
|
+
"ssh #{ssh_options} "
|
92
|
+
end
|
93
|
+
|
94
|
+
def scp_command
|
95
|
+
"scp #{ssh_options} "
|
96
|
+
end
|
97
|
+
|
98
|
+
def ssh_options
|
99
|
+
"-i #{ENV['HOME']}/.ssh/internal -o StrictHostKeyChecking=no -o PasswordAuthentication=no"
|
100
|
+
end
|
101
|
+
|
102
|
+
#
|
103
|
+
# check whether a gem is installed in the server
|
104
|
+
#
|
105
|
+
def gem?(name, version)
|
106
|
+
egrep_escaped_version = version.gsub(/\./, '\.')
|
107
|
+
# the [,)] is to stop us from looking for e.g. 0.5.1, seeing
|
108
|
+
# 0.5.11, and mistakenly thinking 0.5.1 is there
|
109
|
+
has_gem_cmd = "#{gem_binary} list #{name} | grep \"#{name}\" | egrep -q '#{egrep_escaped_version}[,)]'"
|
110
|
+
run(has_gem_cmd)
|
111
|
+
end
|
112
|
+
|
113
|
+
#
|
114
|
+
# copy a local gem to the remove server and install it
|
115
|
+
#
|
116
|
+
def install_gem(local_gem_file, remote_gem_file)
|
117
|
+
logged_system(scp_command + Escape.shell_command([local_gem_file, "#{user}@#{hostname}:#{remote_gem_file}"]))
|
118
|
+
run("sudo #{gem_binary} install --no-rdoc --no-ri '#{remote_gem_file}'")
|
92
119
|
end
|
93
120
|
|
94
121
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engineyard-serverside
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.28.
|
4
|
+
version: 1.5.28.pre2
|
5
5
|
prerelease: 7
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01
|
12
|
+
date: 2012-02-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &2157318860 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - =
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.3.2
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2157318860
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &2157318360 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.9.2.2
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2157318360
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rdoc
|
38
|
-
requirement: &
|
38
|
+
requirement: &2157317980 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2157317980
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: timecop
|
49
|
-
requirement: &
|
49
|
+
requirement: &2157317520 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2157317520
|
58
58
|
description:
|
59
59
|
email: cloud@engineyard.com
|
60
60
|
executables:
|