Compare commits

..

2 commits

Author SHA1 Message Date
6b15ee0684 feat: handle interrupt signal 2023-01-20 09:21:09 +01:00
d3982daed1 feat: add Makefile 2023-01-20 09:20:55 +01:00
2 changed files with 18 additions and 3 deletions

6
Makefile Normal file
View file

@ -0,0 +1,6 @@
all: build
build:
shards build

View file

@ -55,15 +55,17 @@ puts "docker_image = #{docker_image}"
puts "action = #{action}"
docker_name = "docmachine-#{basehash}"
docker_cid = %x{docker ps -f "name=#{docker_name} -q)}.strip
docker_cid = %x{docker ps -f "name=#{docker_name}" -q}.strip
uid = %x{id -u}.strip
gid = %x{id -g}.strip
puts "uid: #{uid}"
puts "cid: #{gid}"
puts "docker_name: #{docker_name}"
puts "docker_cid: #{docker_cid}"
if !docker_cid.empty?
Process.run("docker", ["kill", docker_cid])
Process.run("docker", ["kill", docker_name])
end
docker_opts << "run"
@ -127,5 +129,12 @@ docker_opts << docker_image
docker_opts << action
puts docker_opts.inspect.colorize(:yellow)
process = Process.run("docker", docker_opts, output: STDOUT, error: STDERR)
process = Process.new("docker", docker_opts, output: STDOUT, error: STDERR)
Signal::INT.trap do
STDERR.puts "Received CTRL-C"
process.signal(Signal::KILL)
Process.run("docker", ["kill", docker_name])
end
process.wait