Sha256: 51df9e33b9261cf85c6da2d3232f801a77463ce4ba16f62cf424bc1061c46d07

Contents?: true

Size: 868 Bytes

Versions: 3

Compression:

Stored size: 868 Bytes

Contents

module Dockerploy
  class Image
    def initialize(config, options = {})
      @config = config
      @options = options
    end

    def build
      command = sprintf('env DOCKER_HOST=%s docker build -t %s .', @config.docker_host, image_name)
      ShellClient.new.command(command)
    end

    def push
      command = sprintf('env DOCKER_HOST=%s docker push %s', @config.docker_host, image_name)
      ShellClient.new.command(command)
    end

    def pull
      return unless @config.servers
      @config.servers.each do |server|
        ssh_client = SSHClient.new(server[:host], server[:username], server[:password], server[:port])
        ssh_client.command(sprintf('docker pull %s', image_name))
      end
    end

    private
    def image_name
      @options[:tag] ? sprintf('%s:%s', @config.image_name, @options[:tag]) : @config.image_name
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dockerploy-0.0.5 lib/dockerploy/image.rb
dockerploy-0.0.4 lib/dockerploy/image.rb
dockerploy-0.0.3 lib/dockerploy/image.rb