harbr 0.1.49 → 0.1.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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