harbr 0.1.49 → 0.1.52

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: afa50fa2d13cb27fe66aac3529c34dca995c6793c47ffab0c0ad49f48b3afbed
4
- data.tar.gz: 5b8c161f835b4d86479f2282376cd3cb04cd5fd7b8c9d4e99a6bdb27502a8dae
3
+ metadata.gz: a31eedc9d45cc5968cb05e2287c2686b9c25627a5a31b4dea46e93ffa92ed82b
4
+ data.tar.gz: 5ee4e173c8c1daa6425d6909be7f3389b88ca295153e27b36f1c18ed2783ef65
5
5
  SHA512:
6
- metadata.gz: 4b68f72d961341d55439471b40f2ef033565450f8762c0195cb9e2746e818956c9a2d5d4f3f0686277ea29bb7b14dfb3c54f43e03549bcc936cdfb4504ec150b
7
- data.tar.gz: 78c8792d6b110d4617f468df52db82c09be14cb7c23eb0e8aebedc3d8b176e3e2b8679bd8e72486a156e581117b917455813203b72e0de2399803c56ef711d6d
6
+ metadata.gz: 8af7d7b58ba8944153bacd29e374bcd7dceee42d9f9495e6bd5b541964f75e3d7dc46495175dd8f35a3c8db1a34104e08c312cd42888cdff9c75e472bf9389ed
7
+ data.tar.gz: d298bc7ee67bd56e7dac7b9fbb3a38f95c09cb2c4d923073ee96553837dd04806948fbc3028af0fb359e0efadd5cb2536cf9b8f1dd9c167809f95727b04c0e38
data/exe/harbr CHANGED
@@ -83,13 +83,8 @@ class HarbrCLI < Thor
83
83
 
84
84
  def run_jobs(container, version)
85
85
  puts "Running tasks for container: #{container}, version: #{version}"
86
- if version.to_i == 0
87
- Harbr::Job.perform_async(container, version, "current")
88
- puts "deploy current version #{version} of #{container}"
89
- else
90
- Harbr::Job.perform_async(container, version, "next")
91
- puts "deploy next version #{version} of #{container}"
92
- end
86
+ Harbr::Job.perform_async(container, version, "next")
87
+ puts "deploy next version #{version} of #{container}"
93
88
  end
94
89
 
95
90
  def create_traefik_config(containers)
@@ -192,19 +187,15 @@ class HarbrCLI < Thor
192
187
 
193
188
  desc "deploy", "deploy a container to production"
194
189
  def deploy(name)
195
- Dir.chdir("/var/harbr/containers/#{name}/") do
196
- /(?:. * -> (?:.*))/ =~ `ls -l /var/harbr/containers/#{name}/current`
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?
197
193
 
198
- `rm -r rollback`
199
- `ln -sf #{$2} rollback`
194
+ Harbr::Job.perform_async(name, version, "current")
195
+ puts "deploy current version #{version} of #{name}"
200
196
 
201
- /(?:. * -> (?:.*))/ =~ `ls -l /var/harbr/containers/#{name}/next`
202
- `rm -r current`
203
- `ln -sf #{$2} current`
204
- `sv restart #{name}`
205
- end
206
197
  end
207
-
198
+
208
199
  desc "rollback", "rollback last deploy"
209
200
  def rollback(name)
210
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("#{env}.#{name}", "#{env}.#{manifest.host}", port)
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
- write_to_file "/etc/sv/harbr/#{name}/#{env}/run", run_script
143
- write_to_file "/etc/sv/harbr/#{name}/#{env}/log/run", log_script
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
- `chmod +x /etc/sv/harbr/#{name}/#{env}/run`
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}`
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Harbr
4
- VERSION = "0.1.49"
4
+ VERSION = "0.1.52"
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.49
4
+ version: 0.1.52
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Kuldvee Burke