buildizer 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Gemfile.lock +32 -26
- data/buildizer.gemspec +2 -2
- data/lib/buildizer.rb +10 -9
- data/lib/buildizer/builder/base.rb +132 -24
- data/lib/buildizer/builder/fpm.rb +2 -2
- data/lib/buildizer/builder/native.rb +1 -1
- data/lib/buildizer/builder/patch.rb +2 -2
- data/lib/buildizer/buildizer.rb +12 -4
- data/lib/buildizer/buildizer/buildizer_conf_mod.rb +0 -40
- data/lib/buildizer/buildizer/overcommit_mod.rb +1 -1
- data/lib/buildizer/ci/travis.rb +13 -6
- data/lib/buildizer/cli/main.rb +12 -10
- data/lib/buildizer/core_ext/hash.rb +5 -5
- data/lib/buildizer/core_ext/pathname.rb +3 -3
- data/lib/buildizer/docker.rb +104 -68
- data/lib/buildizer/image.rb +44 -1
- data/lib/buildizer/os.rb +4 -0
- data/lib/buildizer/os/base.rb +69 -0
- data/lib/buildizer/{image → os}/centos.rb +32 -24
- data/lib/buildizer/{image → os}/centos6.rb +2 -2
- data/lib/buildizer/{image → os}/centos7.rb +2 -2
- data/lib/buildizer/{image → os}/ubuntu.rb +29 -19
- data/lib/buildizer/{image → os}/ubuntu1204.rb +3 -3
- data/lib/buildizer/{image → os}/ubuntu1404.rb +3 -3
- data/lib/buildizer/{image → os}/ubuntu1604.rb +3 -3
- data/lib/buildizer/target/base.rb +65 -37
- data/lib/buildizer/target/fpm.rb +11 -21
- data/lib/buildizer/target/patch.rb +5 -8
- data/lib/buildizer/version.rb +1 -1
- metadata +14 -13
- data/lib/buildizer/image/base.rb +0 -76
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YzFkODNmNmQzNzllNmRkZTY3ZGE2YTQ1Mzk1MjRiYmEyYTljY2UxZg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YThiNTliNTQ2MjRhZjY0OGZiZDE0ZjMzZDFmN2RiZGY0NTIxZjFiMw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDI5NzEzYWY2ZDZkNGFlZjRlMzEwMmFmYmVlM2RhOGE3MzEzMjc3ZjhmNjg3
|
10
|
+
YjFlNWY2MjBjMWZlZDI5OGYyNjNiZDRmOGNlNDdlNzQ3YjBlOGYzYTcxNzg1
|
11
|
+
YThiYTUzZDViOGJmOTgwMjM5Y2VmZmViNTVlZTFlOGM3NTQyMzM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OGQ0MDA2NmJlZDFiYjIxZDI2MDcwZTk3ZDMxZWUxYTM3MzYyYTZlMTI0OWVm
|
14
|
+
ZjI1MjAyYmM3YmRmZGE1YjNhMzJkMTg5MmI1NmNmYWE3ODk0NjY2NWQ0MTY2
|
15
|
+
Y2I2ZWY2Y2IwNDI4ZDBlYjNmN2RjMzBlYzY2NTY2YTc2NTVhMTQ=
|
data/Gemfile.lock
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
GIT
|
2
2
|
remote: https://github.com/flant/shellfold.git
|
3
|
-
revision:
|
3
|
+
revision: bd500ed78320ead4d5fbf46470e3b34582ead26c
|
4
4
|
specs:
|
5
|
-
shellfold (0.0
|
5
|
+
shellfold (0.1.0)
|
6
6
|
mixlib-shellout (>= 2.2.6, < 3.0)
|
7
7
|
|
8
8
|
PATH
|
9
9
|
remote: .
|
10
10
|
specs:
|
11
|
-
buildizer (0.1.
|
11
|
+
buildizer (0.1.1)
|
12
12
|
colorize (>= 0.6.0, < 1.0)
|
13
|
-
net_status (>= 0.0
|
13
|
+
net_status (>= 0.1.0, < 1.0)
|
14
14
|
overcommit (>= 0.33.0, < 1.0)
|
15
15
|
package_cloud (>= 0.2, < 1.0)
|
16
16
|
shellfold (>= 0.0.1, < 1.0)
|
@@ -26,16 +26,16 @@ GEM
|
|
26
26
|
childprocess (0.5.9)
|
27
27
|
ffi (~> 1.0, >= 1.0.11)
|
28
28
|
coderay (1.1.1)
|
29
|
-
colorize (0.
|
29
|
+
colorize (0.8.1)
|
30
30
|
debug_inspector (0.0.2)
|
31
31
|
diff-lcs (1.2.5)
|
32
|
-
ethon (0.
|
32
|
+
ethon (0.9.1)
|
33
33
|
ffi (>= 1.3.0)
|
34
34
|
faraday (0.9.2)
|
35
35
|
multipart-post (>= 1.2, < 3)
|
36
36
|
faraday_middleware (0.10.0)
|
37
37
|
faraday (>= 0.7.4, < 0.10)
|
38
|
-
ffi (1.9.
|
38
|
+
ffi (1.9.14)
|
39
39
|
gh (0.14.0)
|
40
40
|
addressable
|
41
41
|
backports
|
@@ -44,29 +44,31 @@ GEM
|
|
44
44
|
net-http-persistent (>= 2.7)
|
45
45
|
net-http-pipeline
|
46
46
|
highline (1.6.20)
|
47
|
+
i18n (0.7.0)
|
47
48
|
iniparse (1.4.2)
|
48
|
-
json (
|
49
|
+
json (2.0.2)
|
49
50
|
json_pure (1.8.1)
|
50
51
|
launchy (2.4.3)
|
51
52
|
addressable (~> 2.3)
|
52
53
|
method_source (0.8.2)
|
53
54
|
mime-types (1.25.1)
|
54
|
-
mixlib-shellout (2.2.
|
55
|
-
multi_json (1.
|
55
|
+
mixlib-shellout (2.2.7)
|
56
|
+
multi_json (1.12.1)
|
56
57
|
multipart-post (2.0.0)
|
57
58
|
net-http-persistent (2.9.4)
|
58
59
|
net-http-pipeline (1.0.1)
|
59
|
-
net_status (0.
|
60
|
-
|
60
|
+
net_status (0.1.3)
|
61
|
+
i18n (~> 0.7)
|
62
|
+
overcommit (0.36.0)
|
61
63
|
childprocess (~> 0.5.8)
|
62
64
|
iniparse (~> 1.4)
|
63
|
-
package_cloud (0.2.
|
64
|
-
colorize (= 0.6.0)
|
65
|
+
package_cloud (0.2.36)
|
65
66
|
highline (= 1.6.20)
|
66
67
|
json_pure (= 1.8.1)
|
68
|
+
rainbow (= 2.1.0)
|
67
69
|
rest-client (~> 1.6.7)
|
68
70
|
thor (~> 0.18)
|
69
|
-
pry (0.10.
|
71
|
+
pry (0.10.4)
|
70
72
|
coderay (~> 1.1.0)
|
71
73
|
method_source (~> 0.8.1)
|
72
74
|
slop (~> 3.4)
|
@@ -76,22 +78,23 @@ GEM
|
|
76
78
|
pusher-client (0.6.2)
|
77
79
|
json
|
78
80
|
websocket (~> 1.0)
|
81
|
+
rainbow (2.1.0)
|
79
82
|
rake (10.5.0)
|
80
83
|
rest-client (1.6.9)
|
81
84
|
mime-types (~> 1.16)
|
82
|
-
rspec (3.
|
83
|
-
rspec-core (~> 3.
|
84
|
-
rspec-expectations (~> 3.
|
85
|
-
rspec-mocks (~> 3.
|
86
|
-
rspec-core (3.
|
87
|
-
rspec-support (~> 3.
|
88
|
-
rspec-expectations (3.
|
85
|
+
rspec (3.5.0)
|
86
|
+
rspec-core (~> 3.5.0)
|
87
|
+
rspec-expectations (~> 3.5.0)
|
88
|
+
rspec-mocks (~> 3.5.0)
|
89
|
+
rspec-core (3.5.3)
|
90
|
+
rspec-support (~> 3.5.0)
|
91
|
+
rspec-expectations (3.5.0)
|
89
92
|
diff-lcs (>= 1.2.0, < 2.0)
|
90
|
-
rspec-support (~> 3.
|
91
|
-
rspec-mocks (3.
|
93
|
+
rspec-support (~> 3.5.0)
|
94
|
+
rspec-mocks (3.5.0)
|
92
95
|
diff-lcs (>= 1.2.0, < 2.0)
|
93
|
-
rspec-support (~> 3.
|
94
|
-
rspec-support (3.
|
96
|
+
rspec-support (~> 3.5.0)
|
97
|
+
rspec-support (3.5.0)
|
95
98
|
slop (3.6.0)
|
96
99
|
thor (0.19.1)
|
97
100
|
travis (1.8.2)
|
@@ -119,3 +122,6 @@ DEPENDENCIES
|
|
119
122
|
rspec (~> 3.4, >= 3.4.0)
|
120
123
|
shellfold!
|
121
124
|
travis (~> 1.8, >= 1.8.2)
|
125
|
+
|
126
|
+
BUNDLED WITH
|
127
|
+
1.13.1
|
data/buildizer.gemspec
CHANGED
@@ -14,10 +14,10 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
15
15
|
spec.executables = ["buildizer"]
|
16
16
|
|
17
|
-
spec.required_ruby_version = ">= 2.
|
17
|
+
spec.required_ruby_version = ">= 2.1.0"
|
18
18
|
|
19
19
|
spec.add_dependency "thor", ">= 0.19.1", "< 1.0"
|
20
|
-
spec.add_dependency "net_status", ">= 0.0
|
20
|
+
spec.add_dependency "net_status", ">= 0.1.0", "< 1.0"
|
21
21
|
spec.add_dependency "shellfold", ">= 0.0.1", "< 1.0"
|
22
22
|
spec.add_dependency "package_cloud", ">= 0.2", "< 1.0"
|
23
23
|
spec.add_dependency "overcommit", ">= 0.33.0", "< 1.0"
|
data/lib/buildizer.rb
CHANGED
@@ -20,6 +20,7 @@ require 'buildizer/cli/option_mod'
|
|
20
20
|
require 'buildizer/cli/base'
|
21
21
|
require 'buildizer/cli/main'
|
22
22
|
require 'buildizer/buildizer'
|
23
|
+
require 'buildizer/image'
|
23
24
|
require 'buildizer/target'
|
24
25
|
require 'buildizer/target/package_name_mod'
|
25
26
|
require 'buildizer/target/base'
|
@@ -31,15 +32,15 @@ require 'buildizer/builder/base'
|
|
31
32
|
require 'buildizer/builder/fpm'
|
32
33
|
require 'buildizer/builder/native'
|
33
34
|
require 'buildizer/builder/patch'
|
34
|
-
require 'buildizer/
|
35
|
-
require 'buildizer/
|
36
|
-
require 'buildizer/
|
37
|
-
require 'buildizer/
|
38
|
-
require 'buildizer/
|
39
|
-
require 'buildizer/
|
40
|
-
require 'buildizer/
|
41
|
-
require 'buildizer/
|
42
|
-
require 'buildizer/
|
35
|
+
require 'buildizer/os'
|
36
|
+
require 'buildizer/os/base'
|
37
|
+
require 'buildizer/os/centos'
|
38
|
+
require 'buildizer/os/centos6'
|
39
|
+
require 'buildizer/os/centos7'
|
40
|
+
require 'buildizer/os/ubuntu'
|
41
|
+
require 'buildizer/os/ubuntu1204'
|
42
|
+
require 'buildizer/os/ubuntu1404'
|
43
|
+
require 'buildizer/os/ubuntu1604'
|
43
44
|
require 'buildizer/core_ext/string'
|
44
45
|
require 'buildizer/core_ext/hash'
|
45
46
|
require 'buildizer/core_ext/true_class'
|
@@ -28,13 +28,13 @@ module Buildizer
|
|
28
28
|
def new_target(target_name)
|
29
29
|
os_name, os_version, target_tag = target_name.split('/', 3)
|
30
30
|
|
31
|
-
|
31
|
+
os = docker.new_os(os_name, os_version)
|
32
32
|
|
33
33
|
params = initial_target_params
|
34
34
|
buildizer.buildizer_conf.each do |match_key, match_params|
|
35
35
|
match_os_name, match_os_version, match_target_tag = match_key.to_s.split('/', 3)
|
36
|
-
if
|
37
|
-
( match_os_version.nil? or
|
36
|
+
if os.name.match_glob?(match_os_name) and
|
37
|
+
( match_os_version.nil? or os.version.match_glob?(match_os_version) ) and
|
38
38
|
( match_target_tag.nil? or (not target_tag.nil? and
|
39
39
|
target_tag.match_glob?(match_target_tag)) )
|
40
40
|
params = merge_params(into: params, params: match_params)
|
@@ -43,24 +43,37 @@ module Buildizer
|
|
43
43
|
|
44
44
|
check_params! params
|
45
45
|
|
46
|
-
target_klass.new(self,
|
47
|
-
|
46
|
+
target_klass.new(self, os, name: target_name, **params)
|
47
|
+
end
|
48
|
+
|
49
|
+
def target_names
|
50
|
+
@target_names ||= begin
|
51
|
+
targets = Array(buildizer.buildizer_conf['target'])
|
52
|
+
restrict_targets = ENV['BUILDIZER_TARGET']
|
53
|
+
restrict_targets = restrict_targets.split(',').map(&:strip) if restrict_targets
|
54
|
+
targets = targets & restrict_targets if restrict_targets
|
55
|
+
targets
|
48
56
|
end
|
49
57
|
end
|
50
58
|
|
51
59
|
def targets
|
52
|
-
@targets ||=
|
60
|
+
@targets ||= target_names.map {|name| new_target(name)}
|
53
61
|
end
|
54
62
|
|
55
63
|
def initial_target_params
|
56
64
|
{}.tap do |params|
|
57
|
-
params[:package_name] = buildizer.package_name
|
58
|
-
params[:package_version] = buildizer.package_version
|
65
|
+
params[:package_name] = buildizer.buildizer_conf['package_name']
|
66
|
+
params[:package_version] = buildizer.buildizer_conf['package_version']
|
59
67
|
params[:package_cloud] = buildizer.package_cloud
|
60
|
-
params[:prepare] = buildizer.prepare
|
61
|
-
params[:build_dep] = buildizer.build_dep
|
62
|
-
params[:before_build] = buildizer.before_build
|
63
|
-
params[:maintainer] = buildizer.maintainer
|
68
|
+
params[:prepare] = Array(buildizer.buildizer_conf['prepare'])
|
69
|
+
params[:build_dep] = Array(buildizer.buildizer_conf['build_dep']).to_set
|
70
|
+
params[:before_build] = Array(buildizer.buildizer_conf['before_build'])
|
71
|
+
params[:maintainer] = buildizer.buildizer_conf['maintainer']
|
72
|
+
|
73
|
+
params[:test_options] = Hash(buildizer.buildizer_conf['test_options'])
|
74
|
+
params[:test_env] = buildizer.buildizer_conf['test_env'].to_h
|
75
|
+
params[:before_test] = Array(buildizer.buildizer_conf['before_test'])
|
76
|
+
params[:test] = Array(buildizer.buildizer_conf['test'])
|
64
77
|
end
|
65
78
|
end
|
66
79
|
|
@@ -80,6 +93,11 @@ module Buildizer
|
|
80
93
|
res[:build_dep] = into[:build_dep] | Array(params['build_dep']).to_set
|
81
94
|
res[:before_build] = into[:before_build] + Array(params['before_build'])
|
82
95
|
res[:maintainer] = params['maintainer'] || into[:maintainer]
|
96
|
+
|
97
|
+
res[:test_options] = into[:test_options].merge params['test_options'].to_h
|
98
|
+
res[:test_env] = into[:test_env].merge(params['test_env'].to_h)
|
99
|
+
res[:before_test] = into[:before_test] + Array(params['before_test'])
|
100
|
+
res[:test] = into[:test] + Array(params['test'])
|
83
101
|
end
|
84
102
|
end
|
85
103
|
|
@@ -109,20 +127,20 @@ module Buildizer
|
|
109
127
|
|
110
128
|
def prepare
|
111
129
|
docker.with_cache do
|
112
|
-
buildizer.before_prepare
|
113
|
-
|
130
|
+
Array(buildizer.buildizer_conf['before_prepare'])
|
131
|
+
.each {|cmd| buildizer.command! cmd, desc: "Before prepare command: #{cmd}"}
|
114
132
|
|
115
|
-
targets.each {|target|
|
133
|
+
targets.each {|target| prepare_target_build_image(target)}
|
116
134
|
|
117
|
-
buildizer.after_prepare
|
118
|
-
|
135
|
+
Array(buildizer.buildizer_conf['after_prepare'])
|
136
|
+
.each {|cmd| buildizer.command! cmd, desc: "After prepare command: #{cmd}"}
|
119
137
|
end # with_cache
|
120
138
|
end
|
121
139
|
|
122
|
-
def
|
123
|
-
target.prepare.each {|cmd| target.
|
124
|
-
target.
|
125
|
-
docker.
|
140
|
+
def prepare_target_build_image(target)
|
141
|
+
target.prepare.each {|cmd| target.build_image.instruction(:RUN, "bash -lec \"#{cmd}\"")}
|
142
|
+
target.os.build_dep(target.build_image, Array(build_dep(target)).to_set + target.build_dep)
|
143
|
+
docker.make_build_image target
|
126
144
|
end
|
127
145
|
|
128
146
|
def build
|
@@ -148,8 +166,98 @@ module Buildizer
|
|
148
166
|
*Array(build_instructions(target)),
|
149
167
|
]
|
150
168
|
|
151
|
-
docker.run_in_image!
|
152
|
-
|
169
|
+
docker.run_in_image! image: target.build_image,
|
170
|
+
cmd: cmd,
|
171
|
+
desc: "Run build in docker image '#{target.build_image.name}'"
|
172
|
+
end
|
173
|
+
|
174
|
+
def test
|
175
|
+
failures = targets
|
176
|
+
.map {|target| [target, Array(test_target(target))]}
|
177
|
+
.reduce([]) {|res, (target, results)|
|
178
|
+
res.push *results.map {|res|
|
179
|
+
{target: target,
|
180
|
+
result: res}
|
181
|
+
}
|
182
|
+
}
|
183
|
+
.select {|test| test[:result].net_status_error?}
|
184
|
+
|
185
|
+
if failures.any?
|
186
|
+
puts
|
187
|
+
puts "Buildizer test FAILED:"
|
188
|
+
failures.each do |failure|
|
189
|
+
puts "* #{failure[:target].name} env=#{failure[:result][:data][:env]}"
|
190
|
+
puts failure[:result][:message]
|
191
|
+
puts
|
192
|
+
end
|
193
|
+
|
194
|
+
raise Error, message: "test failed"
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
198
|
+
def test_target(target)
|
199
|
+
unless target.test.any? or buildizer.options[:shell]
|
200
|
+
buildizer.warn "No tests found for target '#{target.name}' (use directive 'test')"
|
201
|
+
return
|
202
|
+
end
|
203
|
+
|
204
|
+
target
|
205
|
+
.test_env
|
206
|
+
.map {|env| test_target_env(target, env)}
|
207
|
+
end
|
208
|
+
|
209
|
+
def install_test_package_instructions(target)
|
210
|
+
target.os.install_test_package_instructions(target)
|
211
|
+
end
|
212
|
+
|
213
|
+
def prepare_test_container_instructions(target)
|
214
|
+
target.os.prepare_test_container_instructions(target)
|
215
|
+
end
|
216
|
+
|
217
|
+
def test_target_env(target, env)
|
218
|
+
container_name = SecureRandom.uuid
|
219
|
+
docker_opts = (target.test_options['docker'] || {}).zymbolize_keys
|
220
|
+
|
221
|
+
docker.with_container(
|
222
|
+
name: container_name,
|
223
|
+
image: target.test_image,
|
224
|
+
env: env.merge(TERM: ENV['TERM']),
|
225
|
+
docker_opts: docker_opts,
|
226
|
+
desc: "Run test container '#{container_name}' " +
|
227
|
+
"target='#{target.name}' env=#{env}"
|
228
|
+
) do |container|
|
229
|
+
before_test_cmd = [*Array(prepare_package_source_instructions(target)),
|
230
|
+
*Array(prepare_test_container_instructions(target)),
|
231
|
+
*Array(install_test_package_instructions(target)),
|
232
|
+
"cd #{docker.container_package_path}",
|
233
|
+
*target.before_test]
|
234
|
+
|
235
|
+
docker.run_in_container! container: container,
|
236
|
+
cmd: before_test_cmd,
|
237
|
+
docker_opts: {tty: true},
|
238
|
+
desc: "Run before_test stage in test container '#{container}'"
|
239
|
+
|
240
|
+
ret = {data: {env: env}}
|
241
|
+
|
242
|
+
if buildizer.options[:shell]
|
243
|
+
docker.shell_in_container container: container
|
244
|
+
else
|
245
|
+
test_cmd = ["cd #{docker.container_package_path}", *target.test]
|
246
|
+
|
247
|
+
res = docker.run_in_container container: container,
|
248
|
+
cmd: test_cmd,
|
249
|
+
cmd_opts: {live_log: true, log_failure: false},
|
250
|
+
docker_opts: {tty: true},
|
251
|
+
desc: "Run test stage in test container '#{container}'"
|
252
|
+
|
253
|
+
unless res.status.success?
|
254
|
+
ret[:error] = :error
|
255
|
+
ret[:message] = res.stdout + res.stderr
|
256
|
+
end
|
257
|
+
end
|
258
|
+
|
259
|
+
ret
|
260
|
+
end # with_container
|
153
261
|
end
|
154
262
|
|
155
263
|
def deploy
|
@@ -184,7 +292,7 @@ module Buildizer
|
|
184
292
|
end
|
185
293
|
|
186
294
|
def deploy_target(target)
|
187
|
-
cmd = Dir[target.image_build_path.join("*.#{target.
|
295
|
+
cmd = Dir[target.image_build_path.join("*.#{target.os.fpm_output_type}")]
|
188
296
|
.map {|p| Pathname.new(p)}.map {|package_path|
|
189
297
|
package = package_path.basename
|
190
298
|
target.package_cloud.map do |desc|
|
@@ -84,12 +84,12 @@ module Buildizer
|
|
84
84
|
["fpm -s dir",
|
85
85
|
"--force",
|
86
86
|
"-p #{docker.container_build_path}",
|
87
|
-
"-t #{target.
|
87
|
+
"-t #{target.os.fpm_output_type}",
|
88
88
|
"-n #{target.package_name}",
|
89
89
|
"--version=#{version}",
|
90
90
|
"--iteration=#{release}",
|
91
91
|
*fpm_script.values.map {|desc| "#{desc[:fpm_option]}=#{desc[:container_file]}"},
|
92
|
-
*Array(target.
|
92
|
+
*Array(target.os.fpm_extra_params),
|
93
93
|
(target.maintainer ? "--maintainer=\"#{target.maintainer}\"" : nil),
|
94
94
|
(target.fpm_description ? "--description=\"#{target.fpm_description}\"" : nil),
|
95
95
|
(target.fpm_url ? "--url=\"#{target.fpm_url}\"" : nil),
|
@@ -29,11 +29,11 @@ module Buildizer
|
|
29
29
|
end
|
30
30
|
|
31
31
|
def build_instructions(target)
|
32
|
-
target.
|
32
|
+
target.os.patch_build_instructions(target)
|
33
33
|
end
|
34
34
|
|
35
35
|
def build_dep(target)
|
36
|
-
target.
|
36
|
+
target.os.patch_build_dep(target)
|
37
37
|
end
|
38
38
|
end # Patch
|
39
39
|
end # Builder
|
data/lib/buildizer/buildizer.rb
CHANGED
@@ -48,19 +48,27 @@ module Buildizer
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
def prepare
|
51
|
+
def prepare
|
52
52
|
builder.prepare
|
53
53
|
end
|
54
54
|
|
55
|
-
def build
|
55
|
+
def build
|
56
56
|
builder.build
|
57
57
|
end
|
58
58
|
|
59
|
-
def
|
59
|
+
def test
|
60
|
+
raise(
|
61
|
+
Error, message: "cannot run test shell in non interactive mode"
|
62
|
+
) if options[:shell] and not interactive?
|
63
|
+
|
64
|
+
builder.test
|
65
|
+
end
|
66
|
+
|
67
|
+
def deploy
|
60
68
|
builder.deploy
|
61
69
|
end
|
62
70
|
|
63
|
-
def verify
|
71
|
+
def verify
|
64
72
|
builder.verify
|
65
73
|
end
|
66
74
|
|