Sha256: 0e9cf6e3e291562baf889a166643278f33b4bba0e797031e75fdf710f59c9092

Contents?: true

Size: 1.96 KB

Versions: 36

Compression:

Stored size: 1.96 KB

Contents

module DPL
  class Provider
    class Deis < Provider
      def install_deploy_dependencies
        context.shell "curl -sSL http://deis.io/deis-cli/install.sh | sh -s #{option(:cli_version)}"
      end

      def needs_key?
        true
      end

      def check_auth
        unless context.shell "./deis login #{option(:controller)}" \
                      " --username=#{option(:username)}" \
                      " --password=#{option(:password)}"
          error 'Login failed.'
        end
      end

      def check_app
        unless context.shell "./deis apps:info --app=#{option(:app)}"
          error 'Application could not be verified.'
        end
      end

      def setup_key(file)
        unless context.shell "./deis keys:add #{file}"
          error 'Adding keys failed.'
        end
      end

      def setup_git_ssh(path, key_path)
        key_path = File.expand_path(key_path)
        path     = File.expand_path(path)

        File.open(path, 'w') do |file|
          file.write "#!/bin/sh\n"
          file.write "exec ssh -o StrictHostKeychecking=no -o CheckHostIP=no -o UserKnownHostsFile=/dev/null -i #{key_path} \"$@\"\n"
        end

        chmod(0740, path)
        context.env['GIT_SSH'] = path

        unless context.shell "./deis git:remote --app=#{option(:app)}"
          error 'Adding git remote failed.'
        end
      end

      def remove_key
        unless context.shell "./deis keys:remove #{option(:key_name)}"
          error 'Removing keys failed.'
        end
      end

      def push_app
        unless context.shell "git push deis HEAD:refs/heads/master -f"
          error 'Deploying application failed.'
        end
      end

      def run(command)
        unless context.shell "deis run -- #{command}"
          error 'Running command failed.'
        end
      end

      def cleanup
        return if options[:skip_cleanup]
        context.shell "mv deis ~/deis"
        super
        context.shell "mv ~/deis deis"
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
dpl-1.8.12.travis.1244.4 lib/dpl/provider/deis.rb
dpl-1.8.12.travis.1236.4 lib/dpl/provider/deis.rb
dpl-1.8.12.travis.1228.4 lib/dpl/provider/deis.rb
dpl-1.8.12.travis.1226.4 lib/dpl/provider/deis.rb
dpl-1.8.12.travis.1223.4 lib/dpl/provider/deis.rb
dpl-1.8.11 lib/dpl/provider/deis.rb
dpl-1.8.11.travis.1222.4 lib/dpl/provider/deis.rb
dpl-1.8.11.travis.1218.4 lib/dpl/provider/deis.rb
dpl-1.8.10.travis.1217.4 lib/dpl/provider/deis.rb
dpl-1.8.10 lib/dpl/provider/deis.rb
dpl-1.8.10.travis.1215.4 lib/dpl/provider/deis.rb
dpl-1.8.9.travis.1214.4 lib/dpl/provider/deis.rb
dpl-1.8.9 lib/dpl/provider/deis.rb
dpl-1.8.9.travis.1204.4 lib/dpl/provider/deis.rb
dpl-1.8.8.travis.1203.4 lib/dpl/provider/deis.rb
dpl-1.8.8.travis.1202.4 lib/dpl/provider/deis.rb
dpl-1.8.8 lib/dpl/provider/deis.rb
dpl-1.8.8.travis.1201.4 lib/dpl/provider/deis.rb
dpl-1.8.8.travis.1187.4 lib/dpl/provider/deis.rb
dpl-1.8.8.travis.1183.4 lib/dpl/provider/deis.rb