class Vtasks::Docker::Image::Build
Attributes
build_date[R]
build_tag[R]
image[R]
path[R]
Public Class Methods
new(image, path, args={})
click to toggle source
# File lib/vtasks/docker/image/build.rb, line 14 def initialize(image, path, args={}) @image ||= image @path ||= path @build_date ||= args.fetch(:build_date) @build_tag ||= args.fetch(:build_tag) @cmd = 'docker image build' end
Public Instance Methods
with_arguments()
click to toggle source
# File lib/vtasks/docker/image/build.rb, line 36 def with_arguments build_args = { 'BUILD_DATE' => build_date, 'VERSION' => build_tag, 'VCS_URL' => git_url, 'VCS_REF' => git_commit } build_args.map do |key, value| @cmd += " --build-arg #{key}=#{value}" end without_arguments end
without_arguments()
click to toggle source
# File lib/vtasks/docker/image/build.rb, line 23 def without_arguments info "Pulling #{image}" # to speed up the building process system "docker pull #{image}" unless ENV['DOCKER_NO_CACHE'] info "Building #{image}:#{build_tag}" system "#{@cmd} -t #{image}:#{build_tag} #{path}" if $?.exitstatus != 0 error 'Build command failed!' abort end end