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