Release (OTP)
An Erlang release is defined as a standalone node consisting of:
- A set of OTP applications written or reused as part of the project, typically containing the system's business logic. The applications can be proprietary, open source, or a combination thereof.
- The OTP applications from the standard distribution that the aforementioned applications depend on.
- A set of configuration and boot files, together with a start script.
- The Erlang runtime system (ERTS), including a copy of the virtual machine.
System Principles
The simplest way to start an Erlang node is using the erl command. You can start your program from the Erlang shell itself by typing in the module and function name or by passing the
-sflag toerl:$ erl -s module function arg1 arg2 ...The function and arguments are optional. If only the module is listed, the command will invoke
module:start(). If the module and function are listed, the command will invokemodule:function(). We refer to this method of starting your node as a basic target system, where you create a Unix shell script that initializes your state and calls theerl -s command.
Release Directory Structure
Metadata
System Configuration
The standard name for a configuration file is
sys.config. The name can be anything as long as it ends with the extension.config. Just like the.appfile and the.relfile, the.configfile contains a single Erlang term followed by a period. (Logan, Merritt, and Carlsson 2010, 250)