engineyard-serverside 1.5.6 → 1.5.9
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.
@@ -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
|