harbr 0.1.32 → 0.1.33
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 +4 -4
- data/lib/harbr/job.rb +36 -31
- data/lib/harbr/next/job.rb +1 -1
- data/lib/harbr/version.rb +1 -1
- data/lib/harbr.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: 27c02051718757ef55aa3ee2ecd9536846fb5c60a7a33f2f959f16041137d18a
|
4
|
+
data.tar.gz: 7cdcc1a8f8cf766d9c59a594ae1023e435ee17a0742f45e6f9040f14d3c45637
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf0b4d6f9ea20e02e7f5f26af1e462bce1d8d2bd263333f69a35e0add076c2e5d72cefcd688cff29868ca7018d348a324a458b33c0738f3e436b0d0533b4b531
|
7
|
+
data.tar.gz: bbae124250bb11c546d16daa2add66a13a2c5a82fee4a199c72525f17a28e02fe4196101098ccafe40b1c331b806d4751e601a4f10b81674f2d6dcfbedfe20ec
|
data/lib/harbr/job.rb
CHANGED
@@ -76,10 +76,10 @@ module Harbr
|
|
76
76
|
|
77
77
|
def to_s
|
78
78
|
<<~SCRIPT
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
79
|
+
#!/bin/sh
|
80
|
+
exec 2>&1
|
81
|
+
cd /var/harbr/containers/#{@container_name}/current
|
82
|
+
exec ./exe/run #{@port} live
|
83
83
|
SCRIPT
|
84
84
|
end
|
85
85
|
|
@@ -95,9 +95,9 @@ module Harbr
|
|
95
95
|
|
96
96
|
def to_s
|
97
97
|
<<~SCRIPT
|
98
|
-
|
99
|
-
|
100
|
-
|
98
|
+
#!/bin/sh
|
99
|
+
sleep 3
|
100
|
+
`lsof -i :#{@port} | awk 'NR!=1 {print $2}' | xargs kill`
|
101
101
|
SCRIPT
|
102
102
|
end
|
103
103
|
end
|
@@ -109,8 +109,8 @@ module Harbr
|
|
109
109
|
|
110
110
|
def to_s
|
111
111
|
<<~SCRIPT
|
112
|
-
|
113
|
-
|
112
|
+
#!/bin/sh
|
113
|
+
exec svlogd -tt /var/log/harbr/#{@container_name}
|
114
114
|
SCRIPT
|
115
115
|
end
|
116
116
|
end
|
@@ -128,33 +128,38 @@ module Harbr
|
|
128
128
|
end
|
129
129
|
|
130
130
|
def perform(name, version)
|
131
|
-
Dir.chdir "/var/harbr/containers/#{name}/versions/#{version}" do
|
132
|
-
manifest = load_manifest(name, version)
|
133
|
-
port = `port assign #{manifest.port}`.strip
|
134
|
-
system "sv stop #{name}" if File.exist?("/etc/service/#{name}")
|
135
|
-
if File.exist?("Gemfile")
|
136
|
-
`bundle config set --local path 'vendor/bundle'`
|
137
|
-
system "bundle install"
|
138
|
-
end
|
139
131
|
|
140
|
-
|
141
|
-
|
142
|
-
|
132
|
+
Harbr.notifiable(name,version) do
|
133
|
+
|
134
|
+
Dir.chdir "/var/harbr/containers/#{name}/versions/#{version}" do
|
135
|
+
manifest = load_manifest(name, version)
|
136
|
+
port = `port assign #{manifest.port}`.strip
|
137
|
+
system "sv stop #{name}" if File.exist?("/etc/service/#{name}")
|
138
|
+
if File.exist?("Gemfile")
|
139
|
+
`bundle config set --local path 'vendor/bundle'`
|
140
|
+
system "bundle install"
|
141
|
+
end
|
142
|
+
|
143
|
+
`mkdir -p /etc/sv/harbr/#{name}`
|
144
|
+
`mkdir -p /etc/sv/harbr/#{name}/log`
|
145
|
+
`mkdir -p /var/log/harbr/#{name}`
|
143
146
|
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
+
write_to_file "/etc/sv/harbr/#{name}/run", Runit::Run.new(name, port).to_s
|
148
|
+
write_to_file "/etc/sv/harbr/#{name}/finish", Runit::Finish.new(port).to_s
|
149
|
+
write_to_file "/etc/sv/harbr/#{name}/log/run", Runit::Log.new(name).to_s
|
147
150
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
+
`chmod +x /etc/sv/harbr/#{name}/run`
|
152
|
+
`chmod +x /etc/sv/harbr/#{name}/log/run`
|
153
|
+
`chmod +x /etc/sv/harbr/#{name}/finish`
|
151
154
|
|
152
|
-
|
153
|
-
|
155
|
+
system "ln -sf /var/harbr/containers/#{name}/versions/#{version} /var/harbr/containers/#{name}/current"
|
156
|
+
system "ln -sf /etc/sv/harbr/#{name} /etc/service/#{name}"
|
157
|
+
|
158
|
+
containers = collate_containers(name, manifest.host, port)
|
159
|
+
create_traefik_config(containers)
|
160
|
+
puts "process #{version} of #{name}"
|
161
|
+
end
|
154
162
|
|
155
|
-
containers = collate_containers(name, manifest.host, port)
|
156
|
-
create_traefik_config(containers)
|
157
|
-
puts "process #{version} of #{name}"
|
158
163
|
end
|
159
164
|
end
|
160
165
|
end
|
data/lib/harbr/next/job.rb
CHANGED
data/lib/harbr/version.rb
CHANGED
data/lib/harbr.rb
CHANGED
@@ -19,7 +19,7 @@ module Harbr
|
|
19
19
|
DEFAULT_DIRECTORY_DATA_DIR = "#{DEFAULT_DIRECTORY}/.data"
|
20
20
|
class Error < StandardError; end
|
21
21
|
|
22
|
-
def self.notifiable
|
22
|
+
def self.notifiable(name,version)
|
23
23
|
begin
|
24
24
|
yield if block_given?
|
25
25
|
send_notification("Harbr: #{name} deployed successfully","<p>harbr: #{version} of #{name} deployed successfully</p>")
|