lib/harbr/job.rb in harbr-0.1.32 vs lib/harbr/job.rb in harbr-0.1.33
- old
+ new
@@ -74,14 +74,14 @@
@port = port
end
def to_s
<<~SCRIPT
- #!/bin/sh
- exec 2>&1
- cd /var/harbr/containers/#{@container_name}/current
- exec ./exe/run #{@port} live
+ #!/bin/sh
+ exec 2>&1
+ cd /var/harbr/containers/#{@container_name}/current
+ exec ./exe/run #{@port} live
SCRIPT
end
def link
"ln -s /etc/sv/harbr/#{@container_name} /etc/service/#{@container_name}"
@@ -93,13 +93,13 @@
@port = port
end
def to_s
<<~SCRIPT
- #!/bin/sh
- sleep 3
- `lsof -i :#{@port} | awk 'NR!=1 {print $2}' | xargs kill`
+ #!/bin/sh
+ sleep 3
+ `lsof -i :#{@port} | awk 'NR!=1 {print $2}' | xargs kill`
SCRIPT
end
end
class Log
@@ -107,12 +107,12 @@
@container_name = container
end
def to_s
<<~SCRIPT
- #!/bin/sh
- exec svlogd -tt /var/log/harbr/#{@container_name}
+ #!/bin/sh
+ exec svlogd -tt /var/log/harbr/#{@container_name}
SCRIPT
end
end
end
@@ -126,36 +126,41 @@
manifest_data = YAML.load_file(manifest_path)
OpenStruct.new(manifest_data)
end
def perform(name, version)
- Dir.chdir "/var/harbr/containers/#{name}/versions/#{version}" do
- manifest = load_manifest(name, version)
- port = `port assign #{manifest.port}`.strip
- system "sv stop #{name}" if File.exist?("/etc/service/#{name}")
- if File.exist?("Gemfile")
- `bundle config set --local path 'vendor/bundle'`
- system "bundle install"
- end
- `mkdir -p /etc/sv/harbr/#{name}`
- `mkdir -p /etc/sv/harbr/#{name}/log`
- `mkdir -p /var/log/harbr/#{name}`
+ Harbr.notifiable(name,version) do
- write_to_file "/etc/sv/harbr/#{name}/run", Runit::Run.new(name, port).to_s
- write_to_file "/etc/sv/harbr/#{name}/finish", Runit::Finish.new(port).to_s
- write_to_file "/etc/sv/harbr/#{name}/log/run", Runit::Log.new(name).to_s
+ Dir.chdir "/var/harbr/containers/#{name}/versions/#{version}" do
+ manifest = load_manifest(name, version)
+ port = `port assign #{manifest.port}`.strip
+ system "sv stop #{name}" if File.exist?("/etc/service/#{name}")
+ if File.exist?("Gemfile")
+ `bundle config set --local path 'vendor/bundle'`
+ system "bundle install"
+ end
- `chmod +x /etc/sv/harbr/#{name}/run`
- `chmod +x /etc/sv/harbr/#{name}/log/run`
- `chmod +x /etc/sv/harbr/#{name}/finish`
+ `mkdir -p /etc/sv/harbr/#{name}`
+ `mkdir -p /etc/sv/harbr/#{name}/log`
+ `mkdir -p /var/log/harbr/#{name}`
- system "ln -sf /var/harbr/containers/#{name}/versions/#{version} /var/harbr/containers/#{name}/current"
- system "ln -sf /etc/sv/harbr/#{name} /etc/service/#{name}"
+ write_to_file "/etc/sv/harbr/#{name}/run", Runit::Run.new(name, port).to_s
+ write_to_file "/etc/sv/harbr/#{name}/finish", Runit::Finish.new(port).to_s
+ write_to_file "/etc/sv/harbr/#{name}/log/run", Runit::Log.new(name).to_s
- containers = collate_containers(name, manifest.host, port)
- create_traefik_config(containers)
- puts "process #{version} of #{name}"
+ `chmod +x /etc/sv/harbr/#{name}/run`
+ `chmod +x /etc/sv/harbr/#{name}/log/run`
+ `chmod +x /etc/sv/harbr/#{name}/finish`
+
+ system "ln -sf /var/harbr/containers/#{name}/versions/#{version} /var/harbr/containers/#{name}/current"
+ system "ln -sf /etc/sv/harbr/#{name} /etc/service/#{name}"
+
+ containers = collate_containers(name, manifest.host, port)
+ create_traefik_config(containers)
+ puts "process #{version} of #{name}"
+ end
+
end
end
end
end