defmodule Mix.Tasks.Mandrag.Upgrade.Cold do use Mix.Task import Mandrag def run(_) do message "Performing cold upgrade. Updating #{name} to #{version}." case location do :local -> scp "rel/#{name}/releases/#{version}/#{name}.tar.gz", "#{name}/run/#{name}.tar.gz" :remote -> ssh "cp #{name}/rel/#{name}/releases/#{version}/#{name}.tar.gz #{name}/run" end run_command("stop") ssh "cd #{name}/run && tar xf #{name}.tar.gz && rm #{name}.tar.gz" run_command("start") end end