harbr 0.1.50 → 0.1.53
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/harbr +6 -8
- data/lib/harbr/job.rb +28 -6
- 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: 1ffce72f6f98f51fc8dc5e57b77d325e7ec1a9dc6598def839a8c2f558e25fe4
|
4
|
+
data.tar.gz: '09f0e701182b74f04292e39c51910378952fc402642dbaa130b06cd4eefd2e42'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f90bd5caaf758c5aff69d470baff77b4c2effa6fc5595bea179920a87fdcd4edf0fd199e3f5d1b11a3259769de0d209ea823de3bb75a0f41f102be4b6ddf327
|
7
|
+
data.tar.gz: daed009e2420fc5e7d96549687662d05e5b4e46d03bfd27f25055f45a723d078b4b06198be48611ea56caf2d1652f8989c51dd6705212088ad067522066f4e04
|
data/exe/harbr
CHANGED
@@ -187,17 +187,15 @@ class HarbrCLI < Thor
|
|
187
187
|
|
188
188
|
desc "deploy", "deploy a container to production"
|
189
189
|
def deploy(name)
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
end
|
195
|
-
|
190
|
+
/versions\/(?<version>\d*)/.match(`ls -l /var/harbr/containers/#{name}/next`)
|
191
|
+
version = $1
|
192
|
+
raise "Ooops! next version not found!" if version.nil?
|
193
|
+
|
196
194
|
Harbr::Job.perform_async(name, version, "current")
|
197
|
-
puts "deploy current version #{version} of #{
|
195
|
+
puts "deploy current version #{version} of #{name}"
|
198
196
|
|
199
197
|
end
|
200
|
-
|
198
|
+
|
201
199
|
desc "rollback", "rollback last deploy"
|
202
200
|
def rollback(name)
|
203
201
|
Dir.chdir("/var/harbr/containers/#{name}") do
|
data/lib/harbr/job.rb
CHANGED
@@ -115,11 +115,14 @@ module Harbr
|
|
115
115
|
link_directories(name, version, env)
|
116
116
|
sync_live_data_if_next(name) if env == "next"
|
117
117
|
|
118
|
-
containers = collate_containers("#{
|
118
|
+
containers = collate_containers("#{name}", "#{manifest.host}", port) if env == "current"
|
119
|
+
containers = collate_containers("#{env}.#{name}", "#{env}.#{manifest.host}", port) if env == "next"
|
120
|
+
|
119
121
|
create_traefik_config(containers)
|
120
122
|
|
121
123
|
system "sv start #{env}.#{name}" if env == "next"
|
122
124
|
system "sv start #{name}" if env == "current"
|
125
|
+
|
123
126
|
|
124
127
|
|
125
128
|
puts "harbr: #{version} of #{name} in #{env} environment"
|
@@ -139,19 +142,38 @@ module Harbr
|
|
139
142
|
finish_script = Runit::Script.new(name, port, env).finish_script
|
140
143
|
log_script = Runit::Script.new(name, port, env).log_script
|
141
144
|
|
142
|
-
|
143
|
-
|
145
|
+
if env == "next"
|
146
|
+
write_to_file "/etc/sv/harbr/#{name}/#{env}/run", run_script
|
147
|
+
write_to_file "/etc/sv/harbr/#{name}/#{env}/log/run", log_script
|
148
|
+
`chmod +x /etc/sv/harbr/#{name}/#{env}/run`
|
149
|
+
`chmod +x /etc/sv/harbr/#{name}/#{env}/log/run`
|
150
|
+
end
|
151
|
+
|
152
|
+
if env == "current"
|
153
|
+
write_to_file "/etc/sv/harbr/#{name}/run", run_script
|
154
|
+
write_to_file "/etc/sv/harbr/#{name}/log/run", log_script
|
155
|
+
`chmod +x /etc/sv/harbr/#{name}/run`
|
156
|
+
`chmod +x /etc/sv/harbr/#{name}/log/run`
|
157
|
+
end
|
144
158
|
|
145
|
-
|
146
|
-
`chmod +x /etc/sv/harbr/#{name}/#{env}/log/run`
|
159
|
+
|
147
160
|
end
|
148
161
|
|
149
162
|
def link_directories(name, version, env)
|
163
|
+
if env == "next"
|
150
164
|
`rm -f /etc/service/#{env}.#{name}`
|
151
165
|
`rm -f /var/harbr/containers/#{name}/#{env}`
|
152
|
-
|
153
166
|
`ln -sf /var/harbr/containers/#{name}/versions/#{version} /var/harbr/containers/#{name}/#{env}`
|
154
167
|
`ln -sf /etc/sv/harbr/#{name}/#{env} /etc/service/#{env}.#{name}`
|
168
|
+
end
|
169
|
+
|
170
|
+
if env == "current"
|
171
|
+
`rm -f /etc/service/#{name}`
|
172
|
+
`rm -f /var/harbr/containers/#{name}`
|
173
|
+
`ln -sf /var/harbr/containers/#{name}/versions/#{version} /var/harbr/containers/#{name}/current`
|
174
|
+
`ln -sf /etc/sv/harbr/#{name}/#{env} /etc/service/#{name}`
|
175
|
+
end
|
176
|
+
|
155
177
|
end
|
156
178
|
|
157
179
|
def sync_live_data_if_next(name)
|
data/lib/harbr/version.rb
CHANGED