Class: Avmtrf1::Tools::Runner::Php::Docker

Inherits:
Object
  • Object
show all
Defined in:
lib/avmtrf1/tools/runner/php/docker.rb

Instance Method Summary collapse

Instance Method Details

#build_image(php_version) ⇒ Object



64
65
66
67
68
69
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 64

def build_image(php_version)
  r = ::Avmtrf1::Php::DockerImage.new(registry, php_version)
  r.send('version=', !parsed.no_version?)
  r.snapshot = !parsed.no_snapshot?
  r
end

#default_versionsObject



29
30
31
32
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 29

def default_versions
  ::Avm::Apps::Config.current.read_entry('php.default_versions').split(',').map(&:strip)
                     .reject(&:blank?)
end

#process_version(version) ⇒ Object



49
50
51
52
53
54
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 49

def process_version(version)
  image = build_image(version)
  infom "Building Docker image \"#{image.tag}\""
  image.build
  image.push if parsed.push?
end

#registry_nameObject



56
57
58
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 56

def registry_name
  parsed.registry_name || ::Avm::Apps::Config.current.read_entry('docker.registry.name')
end

#registry_uncachedObject



60
61
62
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 60

def registry_uncached
  ::Avm::Docker::Registry.new(registry_name)
end

#runObject



22
23
24
25
26
27
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 22

def run
  infov 'Versions to build', versions_to_s
  versions.each do |version|
    process_version(version)
  end
end

#versionsObject



42
43
44
45
46
47
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 42

def versions
  (
    parsed.version +
    (parsed.default? ? default_versions : [])
  ).uniq.sort
end

#versions_to_sObject



34
35
36
37
38
39
40
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 34

def versions_to_s
  if versions.any?
    versions.join(', ')
  else
    '-- NONE --'
  end
end