18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/drunker/cli.rb', line 18
def _run(image, *commands)
loglevel = options[:debug] ? "DEBUG" : options[:loglevel].upcase
logger = Logger.new(STDERR).tap do |logger|
logger.level = Logger.const_get(loglevel)
logger.formatter = Proc.new { |severity, _datetime, _progname, message| "#{severity}: #{message}\n" } unless loglevel == "DEBUG"
end
config = Drunker::Config.new(image: image,
commands: commands,
config: options[:config],
concurrency: options[:concurrency],
compute_type: options[:compute_type],
timeout: options[:timeout],
env: options[:env],
buildspec: options[:buildspec],
file_pattern: options[:file_pattern],
aggregator: options[:aggregator],
debug: options[:debug],
access_key: options[:access_key],
secret_key: options[:secret_key],
region: options[:region],
profile_name: options[:profile_name],
logger: logger)
logger.info("Creating source....")
source = Drunker::Source.new(Pathname.pwd, config: config, logger: logger)
logger.info("Starting executor...")
artifact = Drunker::Executor.new(source: source, config: config, logger: logger).run
logger.info("Starting aggregator...")
aggregator = Drunker::Aggregator.create(config)
aggregator.run(artifact.layers)
unless config.debug?
logger.info("Deleting source...")
source.delete
logger.info("Deleting artifact...")
artifact.delete
end
exit aggregator.exit_status(artifact.layers)
rescue Drunker::Config::InvalidConfigException => exn
logger.error(exn.message)
exit 1
end
|