engineyard-serverside 1.5.6 → 1.5.9
Sign up to get free protection for your applications and to get access to all the features.
@@ -163,15 +163,48 @@ To fix this problem, commit your Gemfile.lock to your repository and redeploy.
|
|
163
163
|
"/engineyard/bin/app_#{c.app} deploy"
|
164
164
|
end
|
165
165
|
|
166
|
+
# GIT_SSH needs to be defined in the environment for customers with private bundler repos in their Gemfile.
|
166
167
|
def clean_environment
|
167
|
-
|
168
|
-
|
168
|
+
%Q[export GIT_SSH="#{ssh_executable}" && unset BUNDLE_PATH BUNDLE_FROZEN BUNDLE_WITHOUT BUNDLE_BIN BUNDLE_GEMFILE]
|
169
|
+
end
|
170
|
+
|
171
|
+
# If we don't have a local version of the ssh wrapper script yet,
|
172
|
+
# create it on all the servers that will need it.
|
173
|
+
# TODO - This logic likely fails when people change deploy keys.
|
174
|
+
def ssh_executable
|
175
|
+
path = ssh_wrapper_path
|
176
|
+
unless File.executable?(path)
|
177
|
+
roles :app_master, :app, :solo, :util do
|
178
|
+
run(generate_ssh_wrapper)
|
179
|
+
end
|
180
|
+
end
|
181
|
+
path
|
182
|
+
end
|
183
|
+
|
184
|
+
# We specify 'IdentitiesOnly' to avoid failures on systems with > 5 private keys available.
|
185
|
+
def generate_ssh_wrapper
|
186
|
+
path = ssh_wrapper_path
|
187
|
+
identity_file = "~/.ssh/#{c.app}-deploy-key"
|
188
|
+
<<-WRAP
|
189
|
+
cat > #{path} <<'SSH'
|
190
|
+
#!/bin/sh
|
191
|
+
unset SSH_AUTH_SOCK
|
192
|
+
ssh -o 'CheckHostIP no' -o 'StrictHostKeyChecking no' -o 'PasswordAuthentication no' -o 'LogLevel DEBUG' -o 'IdentityFile #{identity_file}' -o 'IdentitiesOnly yes' $*
|
193
|
+
SSH
|
194
|
+
chmod 0700 #{path}
|
195
|
+
WRAP
|
196
|
+
end
|
197
|
+
|
198
|
+
def ssh_wrapper_path
|
199
|
+
"#{c.shared_path}/config/#{c.app}-ssh-wrapper"
|
169
200
|
end
|
170
201
|
|
171
202
|
# task
|
172
203
|
def bundle
|
173
|
-
|
174
|
-
|
204
|
+
roles :app_master, :app, :solo, :util do
|
205
|
+
check_ruby_bundler
|
206
|
+
check_node_npm
|
207
|
+
end
|
175
208
|
end
|
176
209
|
|
177
210
|
# task
|
@@ -29,10 +29,14 @@ module EY
|
|
29
29
|
info "~> application.rb has disabled asset compilation. Skipping."
|
30
30
|
return
|
31
31
|
end
|
32
|
+
# This check is very expensive, and has been deemed not worth the time.
|
33
|
+
# Leaving this here in case someone comes up with a faster way.
|
34
|
+
=begin
|
32
35
|
unless app_has_asset_task?
|
33
36
|
info "~> No 'assets:precompile' Rake task found. Skipping."
|
34
37
|
return
|
35
38
|
end
|
39
|
+
=end
|
36
40
|
true
|
37
41
|
end
|
38
42
|
|
@@ -20,6 +20,8 @@ module EY
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def strategy
|
23
|
+
# Ensure the git ssh config is up to date with the current app.
|
24
|
+
ENV['GIT_SSH'] = ssh_executable
|
23
25
|
klass = Module.nesting[1]
|
24
26
|
# Use [] to access attributes instead of calling methods so
|
25
27
|
# that we get nils instead of NoMethodError.
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engineyard-serverside
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 1.5.
|
9
|
+
- 9
|
10
|
+
version: 1.5.9
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- EY Cloud Team
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-10-
|
18
|
+
date: 2011-10-26 00:00:00 -04:00
|
19
19
|
default_executable: engineyard-serverside
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|