Module: FlazmRubyHelpers::Project::Docker

Defined in:
lib/flazm_ruby_helpers/project.rb

Overview

Helper module to publish docker projects

Class Method Summary collapse

Class Method Details

.build(build_cmd) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/flazm_ruby_helpers/project.rb', line 42

def self.build(build_cmd)
  output, success = FlazmRubyHelpers::Os.exec(build_cmd)
  match = output[-1].match(/Successfully built (.*)$/i)
  raise 'failed to build docker image' unless success && match

  match.captures[0]
end

.publish(image_name, version) ⇒ Object



57
58
59
60
# File 'lib/flazm_ruby_helpers/project.rb', line 57

def self.publish(image_name, version)
  _output, docker_push_success = FlazmRubyHelpers::Os.exec("docker push #{image_name}:#{version}")
  raise "Docker push failed for image #{image_name}:#{version}" unless docker_push_success
end

.tag(docker_image_name, version, image_id) ⇒ Object



50
51
52
53
54
55
# File 'lib/flazm_ruby_helpers/project.rb', line 50

def self.tag(docker_image_name, version, image_id)
  puts "Docker id #{image_id} => tag #{docker_image_name}:#{version}"
  tag_cmd = "docker tag #{image_id} #{docker_image_name}:#{version}"
  _output, success = FlazmRubyHelpers::Os.exec(tag_cmd)
  raise 'docker tag failed' unless success
end

.validateObject



62
63
# File 'lib/flazm_ruby_helpers/project.rb', line 62

def self.validate
end