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 +4 -4
- data/exe/harbr +9 -0
- data/lib/harbr/job.rb +20 -0
- data/lib/harbr/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c35141e47e0208a680bb1e53cbc2347edf82618db4972ea53164dd193140ff9
|
4
|
+
data.tar.gz: 5791e84611a57c605e4d611901544d57c510cc0dbe914b5f0e10f184216aafb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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