colinrymer / distillery

A pure Elixir implementation of release packaging functionality for the Erlang VM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Distillery

Master Hex.pm Version Coverage Status

Every alchemist requires good tools, and one of the greatest tools in the alchemist's disposal is the distillery. The purpose of the distillery is to take something and break it down to it's component parts, reassembling it into something better, more powerful. That is exactly what this project does - it takes your Mix project and produces an Erlang/OTP release, a distilled form of your raw application's components; a single package which can be deployed anywhere, independently of an Erlang/Elixir installation. No dependencies, no hassle.

This is a pure-Elixir, dependency-free implementation of release generation for Elixir projects. It is currently a standalone package, but may be integrated into Mix at some point in the future.

Installation

Distillery requires Elixir 1.3 or greater. It works with Erlang 18+.

defp deps do
  [{:distillery, "~> 0.8"}]
end

Just add as a mix dependency and use mix release. This is a replacement for exrm, but is in beta at this time.

If you are new to releases, please review the documentation.

NOTE: If you are currently using conform with exrm, you can use conform with Distillery by using the distillery branch of conform. You will not need the conform_exrm dependency, but there are some changes, so please read the README carefully.

TODO

  • Upgrades/downgrades
  • Plugin system from exrm
  • Read-only filesystems
  • CLI tooling improvements
  • Documentation
  • Code cleanup

License

MIT. See the LICENSE.md in this repository for more details.

About

A pure Elixir implementation of release packaging functionality for the Erlang VM

License:MIT License


Languages

Language:Elixir 77.3%Language:Shell 10.6%Language:Erlang 7.2%Language:HTML 4.8%