Class: Stackato
- Inherits:
-
Object
- Object
- Stackato
- Defined in:
- lib/conan/stackato.rb
Defined Under Namespace
Classes: Commands
Instance Method Summary collapse
- #bg_deploy(work_dir, app, deployment) ⇒ Object
- #deploy(work_dir, app, deployment, force = false) ⇒ Object
-
#initialize(paas_user, paas_password, paas_space, paas_manifest, dry_run = false) ⇒ Stackato
constructor
A new instance of Stackato.
- #login(paas_target) ⇒ Object
Constructor Details
#initialize(paas_user, paas_password, paas_space, paas_manifest, dry_run = false) ⇒ Stackato
Returns a new instance of Stackato.
72 73 74 75 76 77 78 |
# File 'lib/conan/stackato.rb', line 72 def initialize(paas_user, paas_password, paas_space, paas_manifest, dry_run=false) @paas_user = paas_user @paas_password = paas_password @paas_space = paas_space @paas_manifest = paas_manifest || "stackato.yml" @dry_run = dry_run end |
Instance Method Details
#bg_deploy(work_dir, app, deployment) ⇒ Object
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/conan/stackato.rb', line 125 def bg_deploy(work_dir, app, deployment) puts '' Dir.chdir(work_dir){ raise RuntimeError.new "Blue/green deployment is not implemented for the stackato v3 client yet" # login(deployment.paas_target) # push app #if app.is_inactive_node_operational? # switch (remap nodes) # clean (delete inactive nodes) #else # raise RuntimeError.new "#{app}'s inactive node is not operational. Skipping switch and clean." #end } end |
#deploy(work_dir, app, deployment, force = false) ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/conan/stackato.rb', line 91 def deploy(work_dir, app, deployment, force=false) puts '' Dir.chdir(work_dir){ login(deployment.paas_target) paas_app_name = deployment.name(app) yield paas_app_name if block_given? # print out the stackato.yml for posterity puts '------------------------------------------------------------------------------' File.open(@paas_manifest, "r") do |f| while (line = f.gets) puts "#{line}" end end puts '------------------------------------------------------------------------------' puts '' if (force) puts "Deleting #{paas_app_name} if it exists. May be force be with you!" @commands.delete(paas_app_name) end puts "Pushing #{paas_app_name}" @commands.push(@paas_manifest) deployment.active_urls(app).each do |url| @commands.map(paas_app_name, url) end puts "deploy complete" } end |
#login(paas_target) ⇒ Object
80 81 82 83 84 85 86 87 88 89 |
# File 'lib/conan/stackato.rb', line 80 def login(paas_target) # login only one time per target, and only one target at a time if (@session != paas_target) @session = paas_target @commands = Commands.new(paas_target, @dry_run) unless @paas_user.nil? @commands.login(@paas_user, @paas_password, @paas_space) end end end |