Current section

Files

Jump to
mandrag lib mix tasks mandrag.upgrade.cold.ex
Raw

lib/mix/tasks/mandrag.upgrade.cold.ex

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