engineyard-serverside 2.3.9 → 2.4.0
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.
- checksums.yaml +15 -0
- data/bin/engineyard-serverside-execute-hook +31 -0
- data/lib/engineyard-serverside/about.rb +3 -0
- data/lib/engineyard-serverside/cli.rb +3 -1
- data/lib/engineyard-serverside/configuration.rb +5 -0
- data/lib/engineyard-serverside/deploy.rb +25 -7
- data/lib/engineyard-serverside/maintenance.rb +14 -1
- data/lib/engineyard-serverside/paths.rb +4 -0
- data/lib/engineyard-serverside/server.rb +3 -2
- data/lib/engineyard-serverside/version.rb +1 -1
- data/spec/archive_deploy_spec.rb +4 -10
- data/spec/basic_deploy_spec.rb +3 -3
- data/spec/bundler_deploy_spec.rb +32 -32
- data/spec/configuration_spec.rb +42 -42
- data/spec/custom_deploy_spec.rb +9 -9
- data/spec/deploy_hook_spec.rb +103 -89
- data/spec/deprecation_spec.rb +3 -3
- data/spec/ey_yml_customized_deploy_spec.rb +21 -21
- data/spec/fixtures/repos/executable_hooks/README +1 -0
- data/spec/fixtures/repos/executable_hooks/deploy/before_restart +72 -0
- data/spec/fixtures/repos/public_system/Gemfile +4 -0
- data/spec/fixtures/repos/public_system/Gemfile.lock +12 -0
- data/spec/fixtures/repos/public_system/README +5 -0
- data/spec/fixtures/repos/public_system/ey.yml +3 -0
- data/spec/fixtures/repos/public_system/public/system/cant_touch_this.txt +3 -0
- data/spec/lockfile_parser_spec.rb +26 -26
- data/spec/multi_dependency_manager_spec.rb +3 -3
- data/spec/nodejs_deploy_spec.rb +2 -2
- data/spec/php_deploy_spec.rb +7 -7
- data/spec/rails31_deploy_spec.rb +56 -56
- data/spec/restart_spec.rb +3 -3
- data/spec/rollback_spec.rb +19 -19
- data/spec/server_spec.rb +16 -16
- data/spec/services_deploy_spec.rb +40 -40
- data/spec/shell_spec.rb +1 -1
- data/spec/source/archive_spec.rb +1 -1
- data/spec/source/git_spec.rb +1 -1
- data/spec/spec_helper.rb +0 -1
- data/spec/sqlite3_deploy_spec.rb +6 -6
- data/spec/symlink_spec.rb +15 -0
- metadata +139 -154
- data/lib/engineyard-serverside/source_strategy.rb +0 -77
@@ -1,77 +0,0 @@
|
|
1
|
-
require 'pathname'
|
2
|
-
require 'engineyard-serverside/spawner'
|
3
|
-
require 'escape'
|
4
|
-
|
5
|
-
class EY::Serverside::Source
|
6
|
-
attr_reader :uri, :opts, :source_cache, :ref, :shell
|
7
|
-
alias repository_cache source_cache
|
8
|
-
|
9
|
-
class << self
|
10
|
-
attr_reader :required_opts
|
11
|
-
def require_opts(*names)
|
12
|
-
@required_opts ||= []
|
13
|
-
@required_opts += names
|
14
|
-
end
|
15
|
-
|
16
|
-
def for(type)
|
17
|
-
const_get(type)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def initialize(shell, opts={})
|
22
|
-
@shell = shell
|
23
|
-
@opts = opts
|
24
|
-
|
25
|
-
if self.class.required_opts && !self.class.required_opts.all? {|name| @opts[name] }
|
26
|
-
raise ArgumentError,
|
27
|
-
"Missing required key(s) (#{self.class.required_opts.join(', ')} required)"
|
28
|
-
end
|
29
|
-
|
30
|
-
@ref = @opts[:ref]
|
31
|
-
@uri = @opts[:uri].to_s if @opts[:uri]
|
32
|
-
@source_cache = Pathname.new(@opts[:repository_cache]) if @opts[:repository_cache]
|
33
|
-
end
|
34
|
-
|
35
|
-
protected
|
36
|
-
|
37
|
-
def in_source_cache(&block)
|
38
|
-
raise ArgumentError, "Block required" unless block
|
39
|
-
source_cache.mkpath
|
40
|
-
Dir.chdir(source_cache, &block)
|
41
|
-
end
|
42
|
-
|
43
|
-
def escape(*shell_commands)
|
44
|
-
Escape.shell_command(shell_commands)
|
45
|
-
end
|
46
|
-
|
47
|
-
def runner
|
48
|
-
EY::Serverside::Spawner
|
49
|
-
end
|
50
|
-
|
51
|
-
# Internal: Run a command.
|
52
|
-
#
|
53
|
-
# cmd - A string command.
|
54
|
-
#
|
55
|
-
# Returns an instance of Spawner.
|
56
|
-
def run(cmd)
|
57
|
-
runner.run(cmd, shell, nil)
|
58
|
-
end
|
59
|
-
|
60
|
-
# Internal: Run a command and return the output.
|
61
|
-
#
|
62
|
-
# cmd - A string command.
|
63
|
-
#
|
64
|
-
# Returns the output of the command.
|
65
|
-
def run_and_output(cmd)
|
66
|
-
run(cmd).output
|
67
|
-
end
|
68
|
-
|
69
|
-
# Internal: Run a command and check if it was successful.
|
70
|
-
#
|
71
|
-
# cmd - A string command.
|
72
|
-
#
|
73
|
-
# Returns success.
|
74
|
-
def run_and_success?(cmd)
|
75
|
-
run(cmd).success?
|
76
|
-
end
|
77
|
-
end
|