Packages
deli
0.1.17
0.2.0-rc.6
0.2.0-rc.5
0.2.0-rc.4
0.2.0-rc.3
0.2.0-rc.2
0.2.0-rc.1
0.1.28
0.1.27
0.1.26
0.1.25
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
retired
0.1.7
retired
0.1.6
retired
0.1.5
retired
0.1.4
retired
0.1.3
retired
0.1.2
retired
0.1.1
retired
0.1.0
retired
Easy deployment for Elixir apps
Current section
Files
Jump to
Current section
Files
lib/deli/deploy.ex
defmodule Deli.Deploy do
import Deli.Shell
alias Deli.{Check, Config}
@moduledoc false
def run(target) do
IO.puts("🤞")
edeliver_target = target |> Config.edeliver_target()
edeliver(:deploy, [:release, :to, edeliver_target])
restart_target(target)
end
defp restart_target(target) do
target |> Config.hosts() |> Enum.each(&restart_host/1)
end
defp restart_host(host) do
app = Config.app()
controller = Config.controller()
id = "#{app}@#{host}"
IO.puts("restarting #{id}...")
:ok = app |> controller.restart_host(host)
IO.puts([IO.ANSI.green(), "restarted #{id}", IO.ANSI.reset()])
:timer.sleep(1_000)
Check.run(host)
end
end