• 发布资源文件

    发布资源文件

    要定义一个发布,首先要创建一个 发布资源文件 ,简称 .rel 文件,我们在这里指定发布的名称和版本、它基于哪个ERTS版本,以及它由哪些应用组成:

    1. {release, {Name,Vsn}, {erts, EVsn},
    2. [{Application1, AppVsn1},
    3. ...
    4. {ApplicationN, AppVsnN}]}.

    文件必须叫做 Rel.rel ,其中 Rel 是一个唯一名字。

    NameVsnEvsn 都是字符串。

    每个 Application (原子)和 AppVsn (字符串)是包含在发布内的应用的名称和版本。注意,基于Erlang/OTP的最小发布由应用 kernelstdlib 组成,所以这两个应用必须被包含在列表中。

    例如:我们要创建一个来自应用一章的 ch_app 的发布。这个应用包含以下 .app 文件:

    1. {application, ch_app,
    2. [{description, "Channel allocator"},
    3. {vsn, "1"},
    4. {modules, [ch_app, ch_sup, ch3]},
    5. {registered, [ch3]},
    6. {applications, [kernel, stdlib, sasl]},
    7. {mod, {ch_app,[]}}
    8. ]}.

    .rel 文件还必须包含 kernelstdlibsasl ,因为这些应用是 ch_app 必须的。我们把这个文件叫做 ch_rel-1.rel

    1. {release,
    2. {"ch_rel", "A"},
    3. {erts, "5.3"},
    4. [{kernel, "2.9"},
    5. {stdlib, "1.12"},
    6. {sasl, "1.10"},
    7. {ch_app, "1"}]
    8. }.