5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/odania_ops/cli/docker.rb', line 5
def build(folder, image_name, version_number=nil)
OdaniaOps::Helper::Docker.login
build_number = version_number.nil? ? get_highest_build_number(image_name) + 1 : version_number.to_i
build_tag = "v#{build_number}"
$logger.info "Building version #{build_tag}"
base_image = get_base_image File.expand_path('Dockerfile', folder)
$logger.info "Pulling base image #{base_image}"
OdaniaOps::Helper::Shell.execute("docker pull #{base_image}")
$logger.info "Building #{image_name}"
OdaniaOps::Helper::Shell.execute("cd #{folder} && docker build --no-cache --force-rm -t #{image_name}:#{build_tag} .")
$logger.info "Tagging #{build_tag} as latest"
OdaniaOps::Helper::Docker.remote_tag "#{image_name}:#{build_tag}"
OdaniaOps::Helper::Docker.remote_tag "#{image_name}:#{build_tag}", "#{image_name}:latest"
$logger.info "Pushing #{build_tag}"
OdaniaOps::Helper::Docker.push image_name, build_tag
OdaniaOps::Helper::Docker.push image_name, 'latest'
end
|