Sha256: 244f99c01968061a7928c91c3891dd9c070484a15d196c5280cac480cd21e0c7

Contents?: true

Size: 1002 Bytes

Versions: 2

Compression:

Stored size: 1002 Bytes

Contents

module Shuttle
  module Support
    module Bundler
      def bundle_path
        shared_path('bundle')
      end

      def bundler_installed?
        ssh.run("which bundle").success?
      end

      def bundler_version
        ssh.capture("bundle --version").split(' ').last
      end

      def install_bundler
        res = ssh.run("gem install bundler")

        if res.success?
          log "Bundler installed: #{bundler_version}"
        else
          error "Bundler install failed: #{res.output}"
        end
      end

      def bundle_install
        log "Installing dependencies with Bundler"

        cmd = [
          "bundle install",
          "--quiet",
          "--path #{bundle_path}",
          "--retry=3",
          "--binstubs",
          "--deployment"
        ].join(' ')

        res = ssh.run("cd #{release_path} && #{cmd}", &method(:stream_output))

        unless res.success?
          error "Unable to run bundle: #{res.output}"
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
shuttle-deploy-0.2.1 lib/shuttle/support/bundler.rb
shuttle-deploy-0.2.0 lib/shuttle/support/bundler.rb