require Bottler.Helpers, as: H alias Bottler, as: B defmodule Mix.Tasks.Deploy do @moduledoc """ Build a release file, ship it to remote servers, install it, and restart the app. No hot code swap for now. Use like `mix deploy`. `prod` environment is used by default. Use like `MIX_ENV=other_env mix deploy` to force it to `other_env`. """ use Mix.Task def run(_args) do H.set_prod_environment c = H.read_and_validate_config :ok = B.release c {:ok, _} = B.ship c {:ok, _} = B.install c {:ok, _} = B.restart c :ok end end defmodule Mix.Tasks.Release do @moduledoc """ Build a release file. Use like `mix release`. `prod` environment is used by default. Use like `MIX_ENV=other_env mix release` to force it to `other_env`. """ use Mix.Task def run(_args) do H.set_prod_environment c = H.read_and_validate_config :ok = B.release c :ok end end