Class: Dpl::Providers::Hephy

Inherits:
Dpl::Provider show all
Defined in:
lib/dpl/providers/hephy.rb

Constant Summary collapse

INSTALL =
'https://raw.githubusercontent.com/teamhephy/workflow-cli/master/install-v2.sh'

Constants inherited from Dpl::Provider

Dpl::Provider::FOLDS, Dpl::Provider::STAGES

Instance Attribute Summary

Attributes inherited from Dpl::Provider

#key_name, #repo_name

Instance Method Summary collapse

Methods inherited from Dpl::Provider

#before_finish, #before_init, #before_install, #before_prepare, #before_setup, #chmod, #cleanup, #cmd, #compact, #err, #error, #escape, examples, #expand, #file?, #finish?, #fold, #fold?, #info, #initialize, install_deps, install_deps?, #mkdir_p, move_files, #msg, #mv, #only, #open, #opt_for, #opt_key, #opts_for, #print, #quote, #read, #remove_dpl_dir, #rm_rf, #run, #run_cmds, #run_stage, #run_stage?, #script, #setup_dpl_dir, #setup_git_config, #setup_git_http_user_agent, #setup_git_ssh, #setup_ssh_key, #shell, #sq, #ssh_keygen, #symbolize, #try_ssh_access, #uncleanup, unmove_files, validate_runtimes, #wait_for_ssh_access, #warn

Methods included from Dpl::Provider::Dsl

#apt, #apt?, #cmds, #description, #env, #errs, #full_name, #gem, #gem?, #keep, #move, #msgs, #needs, #needs?, #node_js, #npm, #npm?, #opt, #path, #pip, #pip?, #python, #ruby_pre?, #ruby_version, #runtimes, #status, #strs, #summary, #user_agent, #vars

Methods included from Squiggle

#sq

Methods included from Assets

#asset

Methods included from Env

included, #opts

Methods included from ConfigFile

included, #opts

Methods included from Interpolate

#interpolate, #obfuscate, #vars

Methods included from Memoize

included

Constructor Details

This class inherits a constructor from Dpl::Provider

Instance Method Details

#add_key(key) ⇒ Object



53
54
55
56
# File 'lib/dpl/providers/hephy.rb', line 53

def add_key(key)
  shell :add_key, key: key
  wait_for_ssh_access(host, port)
end

#builderObject



90
91
92
93
94
# File 'lib/dpl/providers/hephy.rb', line 90

def builder
  parts = host.split('.')
  parts[0] = [parts[0], 'builder'].join('-')
  parts.join('.')
end

#deployObject



62
63
64
# File 'lib/dpl/providers/hephy.rb', line 62

def deploy
  shell :deploy
end

#hostObject



78
79
80
# File 'lib/dpl/providers/hephy.rb', line 78

def host
  url.host
end

#installObject



41
42
43
# File 'lib/dpl/providers/hephy.rb', line 41

def install
  shell :install
end

#install_hephy_log_filterObject



100
101
102
# File 'lib/dpl/providers/hephy.rb', line 100

def install_hephy_log_filter
  asset(:filter_log).copy('~/.dpl/')
end

#loginObject



49
50
51
# File 'lib/dpl/providers/hephy.rb', line 49

def 
  shell :login
end

#portObject



82
83
84
# File 'lib/dpl/providers/hephy.rb', line 82

def port
  url.port
end

#remove_keyObject



70
71
72
# File 'lib/dpl/providers/hephy.rb', line 70

def remove_key
  shell :remove_key
end

#run_cmd(cmd) ⇒ Object



66
67
68
# File 'lib/dpl/providers/hephy.rb', line 66

def run_cmd(cmd)
  shell :run, app: app, cmd: cmd
end

#setupObject



45
46
47
# File 'lib/dpl/providers/hephy.rb', line 45

def setup
  install_hephy_log_filter
end

#urlObject



86
87
88
# File 'lib/dpl/providers/hephy.rb', line 86

def url
  @url ||= URI.parse("ssh://git@#{builder}:2222/#{app}.git")
end

#validateObject



58
59
60
# File 'lib/dpl/providers/hephy.rb', line 58

def validate
  shell :validate
end

#verboseObject



74
75
76
# File 'lib/dpl/providers/hephy.rb', line 74

def verbose
  verbose? ? '-v' : ''
end