Class: Avmtrf1::Tools::Runner::Php::Docker
- Inherits:
-
EacRubyUtils::Console::DocoptRunner
- Object
- EacRubyUtils::Console::DocoptRunner
- Avmtrf1::Tools::Runner::Php::Docker
- Defined in:
- lib/avmtrf1/tools/runner/php/docker.rb
Constant Summary collapse
- DOC =
<<~DOCOPT Constrói imagens Docker para PHP. Usage: __PROGRAM__ [options] [<version>...] __PROGRAM__ -h | --help Options: -h --help Mostra esta ajuda. -d --default Adiciona as versões padrão. -n --registry-name=<registry-name> Nome do registro. -p --push Envia a imagem. -S --no-snapshot Não adiciona "-snapshot" no nome da imagem. -V --no-version Não adiciona a versão do gerador no nome da imagem. DOCOPT
Instance Method Summary collapse
- #build_image(php_version) ⇒ Object
- #default_versions ⇒ Object
- #process_version(version) ⇒ Object
- #registry_name ⇒ Object
- #registry_uncached ⇒ Object
- #run ⇒ Object
- #versions ⇒ Object
- #versions_to_s ⇒ Object
Instance Method Details
#build_image(php_version) ⇒ Object
74 75 76 77 78 79 |
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 74 def build_image(php_version) r = ::Avmtrf1::Php::DockerImage.new(registry, php_version) r.send('version=', !.fetch('--no-version')) r.snapshot = !.fetch('--no-snapshot') r end |
#default_versions ⇒ Object
39 40 41 42 |
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 39 def default_versions ::Avmtrf1.configs.read_entry('php.default_versions').split(',').map(&:strip) .reject(&:blank?) end |
#process_version(version) ⇒ Object
59 60 61 62 63 64 |
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 59 def process_version(version) image = build_image(version) infom "Building Docker image \"#{image.tag}\"" image.build image.push if .fetch('--push') end |
#registry_name ⇒ Object
66 67 68 |
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 66 def registry_name .fetch('--registry-name') || ::Avmtrf1.configs.read_entry('docker.registry.name') end |
#registry_uncached ⇒ Object
70 71 72 |
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 70 def registry_uncached ::Avm::Docker::Registry.new(registry_name) end |
#run ⇒ Object
32 33 34 35 36 37 |
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 32 def run infov 'Versions to build', versions_to_s versions.each do |version| process_version(version) end end |
#versions ⇒ Object
52 53 54 55 56 57 |
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 52 def versions ( .fetch('<version>') + (.fetch('--default') ? default_versions : []) ).uniq.sort end |
#versions_to_s ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/avmtrf1/tools/runner/php/docker.rb', line 44 def versions_to_s if versions.any? versions.join(', ') else '-- NONE --' end end |