Search code examples
erlangrelx

Erlang relx -- What are all the output files and how do I use them?


In the spirit of deeper understanding of OTP, I've created a minimalist, bare bones application and packaged it with erlang.mk and relx.

All works as advertised. But some critical information seems missing from the relx docs and tutorials, e.g., what do do with all of the files and directories created by relx.

E.g., if I wish to run my release on different hardware, which files need to be moved and how do I start and stop the release?

And, is there anything else I should know about the various output files?

Here's the output:

_rel
    bin
        install_upgrade.escript
        min
        min-0.1.0
        nodetool
        start_clean.boot
    erts-5.10.3
        yada yada
    lib
        yada yada
    releases
        0.1.0
            min.boot
            min.rel
            min.script
            sys.config
            vm.args
        RELEASES

Many thanks,

LRP


Solution

  • From an end:

    install_upgrade.escript is an escript that can do hot-deploy upgrades from one system to the next.

    min and min-0.1.0 are start/stop scripts for the release.

    nodetool can interact with live nodes

    releases specifies each release These are documented in the release documentation of Erlang.