Relex helper to create a shippable archive file from your assembled Elixir project
Relex with Pogo is cool. Relex with Pogo and Packex is even cooler.
If included to your project's Relex setup you will get an archive file like myrelease-0.1.0.tar.gz
for easier shipping to your production systems.
Add Packex
to your dependencies:
{ :packex, github: "asaaki/packex" }
Ensure its ebin
path is added (on top of mix.exs
):
lc module inlist ~w[ relex pogo packex ] do
Code.append_path "_build/#{Mix.env}/lib/#{module}/ebin"
end
Within the defmodule Release
definition in your mix.exs
:
if Code.ensure_loaded?(Relex.Release) do
defmodule Release do
use Relex.Release
Code.ensure_loaded?(Pogo.Release) && use Pogo.Release
Code.ensure_loaded?(Packex.Release) && use Packex.Release
# ... your setup for the release ...
end
end
This file is just a convenient helper script to run the related mix tasks with a single command.
Copy it to your project's root directory and just call ./release.sh
.
MIT/X11
See: LICENSE