Class: Construi::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/construi/runner.rb

Overview

Runs Construi

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Runner

Returns a new instance of Runner.



18
19
20
# File 'lib/construi/runner.rb', line 18

def initialize(config)
  @config = config
end

Instance Method Details

#run(targets) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/construi/runner.rb', line 40

def run(targets)
  OptionParser.new do |opts|
    opts.on '-v', '--[no-]verbose' do |v|
      Options.enable(:verbose) if v
    end
  end.parse!

  Console.verbose "Construi version: #{Construi::VERSION}"

  setup_docker

  targets.map { |t| Target.new t, @config.target(t) } .each(&:run)
end

#setup_dockerObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/construi/runner.rb', line 22

def setup_docker
  docker_host = ENV['DOCKER_HOST']
  Docker.url = docker_host if docker_host

  Console.verbose "Docker url: #{Docker.url}"

  Docker.logger = Console.logger 'Docker'

  Excon.defaults[:ssl_verify_peer] = false

  Docker.validate_version!

  Docker.options[:read_timeout] = nil

  # Low chunk size as we wish to receive streaming output ASAP
  Docker.options[:chunk_size] = 8
end