Packages
mandrag
0.1.1
1.0.0-pre.0
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.4
0.2.1
retired
0.2.0
retired
0.1.1
0.1.0
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Build and Deploy Elixir releases to Kubernetes via Helm
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/mandrag.start.ex
defmodule Mix.Tasks.Mandrag.Start do
use Mix.Task
import Mandrag
def run(_) do
message "Starting #{name} for the first time."
start(location)
ssh "cd #{name}/run && tar xf #{name}.tar.gz && rm #{name}.tar.gz"
run_command("start")
end
defp start(:local) do
if Code.ensure_loaded?(Ecto) do
Mix.Task.run "ecto.create", []
Mix.Task.run "ecto.migrate", []
Mix.Task.run "run", ["priv/repo/seeds.exs"]
end
scp "rel/#{name}/releases/#{version}/#{name}.tar.gz", "#{name}/run/#{name}.tar.gz"
end
defp start(:remote) do
if Code.ensure_loaded?(Ecto), do: ssh "cd #{name} && MIX_ENV=#{Mix.env} mix do ecto.create, ecto.migrate, run priv/repo/seeds.exs"
ssh "cp #{name}/rel/#{name}/releases/#{version}/#{name}.tar.gz #{name}/run"
end
end