Skip to content

Simplify deployments in Elixir with OTP releases!

License

Notifications You must be signed in to change notification settings

bitwalker/distillery

Repository files navigation

Distillery

NOTE: This project is DEPRECATED. It's functionality was largely integrated into Mix itself as part of the Elixir 1.9 release. While there are some small differences between Distillery and Mix Releases, the vast majority of users should find it quite easy (and very much worthwhile) to migrate. For all others, this repo exists for you to fork and use as you see fit, but it is no longer actively maintained. If there are folks interested in taking over maintenance of the project, please open an issue and we can coordinate on adding you as a maintainer.

Hex.pm Version

About

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 its 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.6 or greater. It works with Erlang 20+.

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

Just add as a mix dependency and use mix distillery.release.

If you are new to releases or Distillery, please review the documentation, it is extensive and covers just about any question you may have!

Community/Questions/etc.

If you have questions or want to discuss Distillery, releases, or other deployment related topics, a good starting point is the Deployment section of ElixirForum, which can be found here.

I can often be found in IRC on freenode, in the #elixir-lang channel, and there is also an Elixir Slack channel as well, though I don't frequent that myself, there are many people who can answer questions there.

Failing that, feel free to open an issue on the tracker with questions, and I'll do my best to get to it in a timely fashion!

License

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