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



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

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



55
56
57
58
# File 'lib/flazm_ruby_helpers/project.rb', line 55

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



48
49
50
51
52
53
# File 'lib/flazm_ruby_helpers/project.rb', line 48

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



60
61
# File 'lib/flazm_ruby_helpers/project.rb', line 60

def self.validate
end