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