Sha256: 23c47c83fd65adc68e364a6ad5fb2aeb7135d48b92002bbd71883a93575c18d4
Contents?: true
Size: 1.85 KB
Versions: 1
Compression:
Stored size: 1.85 KB
Contents
require 'yaml' module Sct class DevCommand @@file = "docker-compose.dev.yml" def error message UI.error message exit 1 end def dc command, env = {} system env, "docker-compose -f ~/development/spend-cloud/docker-compose.yml #{command}" end def dc_dev command, env = {} system env, "docker-compose -f #{@@file} #{command}" end def manifest if !File.exist? @@file error "Could not find file '#{@@file}'." end YAML.load File.read @@file end def execute args, options services = manifest["services"].to_a if Sct::Helper.is_windows? host_machine_IP = (options.wsl_debugger ? `hostname -I | awk '{print $1}'` : `powershell.exe -c '(Test-Connection -ComputerName $env:computername -count 1).ipv4address.IPAddressToString' | dos2unix`).chomp elsif Sct::Helper.is_mac_os? host_machine_IP = `ipconfig getifaddr $(route get 8.8.8.8 | awk '/interface: / {print $2; }')`.chomp else host_machine_IP = `hostname -I | awk '{print $1}'`.chomp end env = { "PUID" => `id -u`.chomp, "PGID" => `id -g`.chomp, "HOST_MACHINE_IP" => host_machine_IP, "IDE_DEBUG_KEY" => "PHPSTORM", "IDE_DEBUG_SERVER" => "docker", } if options.pull return unless dc_dev "pull" 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 return unless dc "rm --stop --force #{service}" end begin dc_dev "up", env rescue SystemExit, Interrupt end dc_dev "rm --force --stop" for service, settings in services dc "up --detach #{service}" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sct-1.1.2 | sct/lib/sct/commands/dev.rb |