Elixir Deploy Manager
A set of Mix tasks to deploy your Elixir Application
Usage
You can deploy your Elixir Application with the deploy task:
mix deploy
This task deploys the complete release for you. It will upload your project with rsync, download Elixir and NodeJS dependencies, compile Elixir & JavaScript source files, then build a release with exrm.
For your convenience, there're also some more tasks you can work with:
mix deploy.setup, setup a deployment environment for the current mix application.mix deploy.service, runexrmapplication script on remote (eg:mix deploy.service start).mix deploy.mix, run a Mix task on remote (eg:mix deploy.mix ecto.migrate).mix deploy.clean, Ccean the deployment environment for the current mix application.
Installation
Like exrm, this project's goal is to make deployments with Elixir projects a breeze. It is composed of a mix task, and build your Elixir project with exrm, then deploy it to your server. All you have to do to get started is the following:
Add dex to your list of dependencies in mix.exs:
def application do
[applications: [:dex]]
end
def deps do
[{:dex, "~> x.x.x"}]
end
There are a number of options you can tweak to customize the way dex is used. All of the options described below should be put into your config.exs file.
config :dex, DeployManager,
server: "your.server.com",
username: "your_username",
deploy_to: "/var/www/your_app",
link_files: ["config/prod.secret.exs", ".env"]