Class: KuberKit::ImageCompiler::ImageBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/kuber_kit/image_compiler/image_builder.rb

Instance Method Summary collapse

Instance Method Details

#build(shell, image, build_dir, context_helper: nil) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 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