Sha256: a97056b55754793bb4bec468ede3504011dae7238320a9524e92de41a8e8cfe5

Contents?: true

Size: 1.61 KB

Versions: 10

Compression:

Stored size: 1.61 KB

Contents

module Ufo
  class Docker < Command
    autoload :Help, 'ufo/docker/help'
    autoload :Builder, 'ufo/docker/builder'
    autoload :Dockerfile, 'ufo/docker/dockerfile'
    autoload :Cleaner, 'ufo/docker/cleaner'

    desc "build", "builds docker image"
    long_desc Help.build
    option :push, type: :boolean, default: false
    def build
      builder = Docker::Builder.new(options)
      builder.build
      builder.push if options[:push]
    end

    desc "base", "builds docker image from Dockerfile.base and update current Dockerfile"
    long_desc Help.base
    option :push, type: :boolean, default: true
    def base
      builder = Docker::Builder.new(options.dup.merge(
        image_namespace: "base",
        dockerfile: "Dockerfile.base"
      ))
      builder.build
      builder.push if options[:push]
      builder.update_dockerfile
      Docker::Cleaner.new(builder.image_name, options.merge(tag_prefix: "base")).cleanup
      Ecr::Cleaner.new(builder.image_name, options.merge(tag_prefix: "base")).cleanup
    end

    desc "name", "displays the full docker image with tag that will be generated"
    option :generate, type: :boolean, default: false, desc: "Generate a name without storing it"
    long_desc Help.name
    def name
      full_image_name = Docker::Builder.new(options).full_image_name
      puts full_image_name
    end

    desc "clean IMAGE_NAME", "Cleans up old images.  Keeps a specified amount."
    option :keep, type: :numeric, default: 3
    option :tag_prefix, default: "ufo"
    long_desc Help.clean
    def clean(image_name)
      Docker::Cleaner.new(image_name, options).cleanup
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
ufo-2.1.0 lib/ufo/docker.rb
ufo-2.0.3 lib/ufo/docker.rb
ufo-2.0.2 lib/ufo/docker.rb
ufo-2.0.1 lib/ufo/docker.rb
ufo-2.0.0 lib/ufo/docker.rb
ufo-1.7.1 lib/ufo/docker.rb
ufo-1.7.0 lib/ufo/docker.rb
ufo-1.6.2 lib/ufo/docker.rb
ufo-1.6.1 lib/ufo/docker.rb
ufo-1.6.0 lib/ufo/docker.rb