sct/lib/sct/commands/dev.rb in sct-1.1.2 vs sct/lib/sct/commands/dev.rb in sct-1.2.0
- old
+ new
@@ -44,32 +44,42 @@
"IDE_DEBUG_KEY" => "PHPSTORM",
"IDE_DEBUG_SERVER" => "docker",
}
if options.pull
- return unless dc_dev "pull"
+ return unless dc_dev "pull", env
end
if options.build
return unless dc_dev "build #{options.pull ? "--pull" : ""}", env
end
if options.pull or options.build
system "docker image prune -f"
end
- for service, settings in services
+ for service, service_spec in services
return unless dc "rm --stop --force #{service}"
end
- begin
- dc_dev "up", env
- rescue SystemExit, Interrupt
- end
+ if services.length == 1
+ service, service_spec = services.first
- dc_dev "rm --force --stop"
+ container = service_spec["container_name"]
+ command = service_spec["command"] || ""
- for service, settings in services
+ dc_dev "run --rm --service-ports --name #{container} #{service} #{command}", env
+ else
+ begin
+ dc_dev "up --remove-orphans --force-recreate --always-recreate-deps", env
+ rescue Interrupt
+ # user pressed Ctrl+C, do nothing
+ end
+
+ dc_dev "down --remove-orphans", env
+ end
+
+ for service, service_spec in services
dc "up --detach #{service}"
end
end
end