harbr 0.1.54 → 0.1.56

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f22e7932038cfa753fc5ea90e1ada8687fe9a9d8e54ee928e1cf549aef95813c
4
- data.tar.gz: 7d895aea6c71f97c86dce8ae032034339a012cb94bf019eb3e26ca46b15e4977
3
+ metadata.gz: 6c35141e47e0208a680bb1e53cbc2347edf82618db4972ea53164dd193140ff9
4
+ data.tar.gz: 5791e84611a57c605e4d611901544d57c510cc0dbe914b5f0e10f184216aafb5
5
5
  SHA512:
6
- metadata.gz: 981446df4a553bbeec8b821be32d5457c35cd18825638990e071286f1bcc0ed34189fc0f54fe2f2b52c00dce7cb232611eddcbad13028e4cb7994c230220e7ac
7
- data.tar.gz: d1829ae5732475e892ae43df7770b8e18223656c2498bcda053b4c45af0a6fd0995536bf3927e255538f345805691e7a0074d614f604b492f309420f7ae7b545
6
+ metadata.gz: 45ef0f748e52e03653b52c772c58a1e9036d5edda6311ba96c18b10230c905312aef1ad6817fdb5806c56f0c4ba151f76c3dea8e680ead39ab9af32c59f44a4d
7
+ data.tar.gz: 13eec59f7d9ff960a0592f0760a93eadb752943fcbb4ce41eba2f3ad3524de1a3710151e323bc5e253f777aa7d336e4f84ccced777e228653466df45741a26af
data/exe/harbr CHANGED
@@ -191,10 +191,19 @@ class HarbrCLI < Thor
191
191
  version = $1
192
192
  raise "Ooops! next version not found!" if version.nil?
193
193
 
194
+
195
+ /versions\/(?<version>\d*)/.match(`ls -l /var/harbr/containers/#{name}/current`)
196
+ `ln -sf /var/harbr/containers/#{name}/version/#{$1} /var/harbr/containers/#{name}/rollback`
197
+
198
+
199
+ `rm -rf /var/harbr/containers/#{name}/current`
200
+
194
201
  Harbr::Job.perform_async(name, version, "current")
202
+
195
203
  puts "deploy current version #{version} of #{name}"
196
204
 
197
205
  end
206
+
198
207
 
199
208
  desc "rollback", "rollback last deploy"
200
209
  def rollback(name)
data/lib/harbr/job.rb CHANGED
@@ -102,6 +102,23 @@ module Harbr
102
102
  end
103
103
  end
104
104
 
105
+ def check_dir_exists(path)
106
+ sleep_times = [1, 3, 5, 8, 23]
107
+ begin
108
+ sleep_times.each do |time|
109
+ puts "checking #{path}...."
110
+ if Dir.exist?(path)
111
+ puts "found #{path}"
112
+ return
113
+ end
114
+ sleep(time)
115
+ end
116
+ raise "Directory not found: #{path}"
117
+ rescue => e
118
+ puts "Error: #{e.message}"
119
+ end
120
+ end
121
+
105
122
  def process_container(name, version, port, env, manifest)
106
123
 
107
124
  version_path = "/var/harbr/containers/#{name}/versions/#{version}"
@@ -129,6 +146,9 @@ module Harbr
129
146
  end
130
147
 
131
148
  def bundle_install_if_needed(path)
149
+
150
+ check_dir_exists(path)
151
+
132
152
  Dir.chdir(path) do
133
153
  if File.exist?("Gemfile")
134
154
  `bundle config set --local path 'vendor/bundle'`
data/lib/harbr/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Harbr
4
- VERSION = "0.1.54"
4
+ VERSION = "0.1.56"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harbr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.54
4
+ version: 0.1.56
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Kuldvee Burke