class KuberKit::ImageCompiler::ImageBuilder

Public Instance Methods

build(shell, image, build_dir, context_helper: nil) click to toggle source
# File lib/kuber_kit/image_compiler/image_builder.rb, line 10
def build(shell, image, build_dir, context_helper: nil)
  image.before_build_callback.call(context_helper, build_dir) if image.before_build_callback

  build_options = ["-t=#{image.registry_url}"]
  # use quite option for api mode ui, so it will only return built image id
  if KuberKit.ui_mode == :api
    build_options << "-q"
  end

  build_result = docker_commands.build(shell, build_dir, build_options)

  version_tag = version_tag_builder.get_version
  docker_commands.tag(shell, image.registry_url, version_tag)

  if image.registry.remote?
    docker_commands.tag(shell, image.registry_url, image.remote_registry_url)
    docker_commands.push(shell, image.remote_registry_url)
  end

  image.after_build_callback.call(context_helper, build_dir) if image.after_build_callback

  build_result
end