Rebar

The rebar3 tool is the second generation of rebar, one of the most widely used Erlang build tools and one that originated in the Erlang community. Rebar3 is a comprehensive tool that addresses a number of project management needs, including dependency management, compilation, and release generation. You can also enhance or extend its functionality via plugins.

(Cesarini and Vinoski 2016, 303 chap.11)

Creating a Release with Rebar3

The rebar3 tool uses relx, rather than the standard Erlang/OTP reltool facility, in an effort to make it easier for developers to create releases, due to reltool being widely viewed as being difficult to configure and use correctly.

(…)

(…) building a production release is easy, even with these default settings in place, thanks to rebar3 profiles. The profiles tuple in rebar.config includes a profile named prod that sets dev_mode to false and include_erts to true. To use the prod profile, we just specify it using the rebar3 as directive on the command line:

$ rebar3 as prod release

(Cesarini and Vinoski 2016, 308 chap.11)

References:

Cesarini, Francesco, and Steve Vinoski. 2016. Designing for Scalability with Erlang/Otp: Implement Robust, Fault-Tolerant Systems. O’Reilly Media, Inc.