发布资源文件

发布资源文件

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

{release, {Name,Vsn}, {erts, EVsn},
 [{Application1, AppVsn1},
   ...
  {ApplicationN, AppVsnN}]}.

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

Name , Vsn 和 Evsn 都是字符串。

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

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

{application, ch_app,
 [{description, "Channel allocator"},
  {vsn, "1"},
  {modules, [ch_app, ch_sup, ch3]},
  {registered, [ch3]},
  {applications, [kernel, stdlib, sasl]},
  {mod, {ch_app,[]}}
 ]}.

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

{release,
 {"ch_rel", "A"},
 {erts, "5.3"},
 [{kernel, "2.9"},
  {stdlib, "1.12"},
  {sasl, "1.10"},
  {ch_app, "1"}]
}.