Sha256: e71ad07355e784717bfd4f2d5034a1cf61f1cc5cfc88ee55ae227ab28e7de0aa

Contents?: true

Size: 916 Bytes

Versions: 8

Compression:

Stored size: 916 Bytes

Contents

require 'shipitron'

module Shipitron
  module Server
    module Docker
      class PushImage
        include Metaractor

        required :docker_image

        def call
          Logger.info "Pushing docker image #{docker_image} and #{docker_image.name_with_tag(:latest)}"

          Logger.info `docker tag #{docker_image} #{docker_image.name_with_tag(:latest)}`
          if $? != 0
            fail_with_error!(message: 'Docker tag failed.')
          end

          Logger.info `docker push #{docker_image}`
          if $? != 0
            fail_with_error!(message: 'Docker push failed.')
          end

          Logger.info `docker push #{docker_image.name_with_tag(:latest)}`
          if $? != 0
            fail_with_error!(message: 'Docker push (latest) failed.')
          end
        end

        private
        def docker_image
          context.docker_image
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
shipitron-0.3.5 lib/shipitron/server/docker/push_image.rb
shipitron-0.3.4 lib/shipitron/server/docker/push_image.rb
shipitron-0.3.3 lib/shipitron/server/docker/push_image.rb
shipitron-0.3.1 lib/shipitron/server/docker/push_image.rb
shipitron-0.3.0 lib/shipitron/server/docker/push_image.rb
shipitron-0.2.2 lib/shipitron/server/docker/push_image.rb
shipitron-0.2.1 lib/shipitron/server/docker/push_image.rb
shipitron-0.2.0 lib/shipitron/server/docker/push_image.rb