2

据我所知,我只应该将我的站点目录置于版本控制之下。(见1 2)。

但是,所有教程都提到我应该通过bin/nitrogen console. 但是,当我不将 bin 目录放入我的存储库时,我应该从哪里获取它?启动应用程序的正确方法是什么?

到目前为止我尝试了什么:

  • 我已经看到氮气创建的目录中有一个Install脚本,但我不知道如何调用它,并且它有一些硬编码的版本。调用此脚本./Install /usr/lib/erlang/不起作用。
  • 运行make会下载依赖项,但不会创建 bin 文件夹。
4

1 回答 1

3

文档肯定需要为此更新,但您可以在此处采用三种方法:

1)正如您提到的,如果您正在执行完整版本(make rel_X),则将站点置于源代码控制下很有用,因为将整个 erlang 安装放入 git 有点矫枉过正。然后,当将应用程序移动到另一台服务器时,您将安装 Nitrogen,运行您的 make 命令,然后克隆您的站点目录,替换默认站点目录。

2)将整个事情置于源代码控制之下。有了一个完整的版本,这也意味着你在你的 repo 中有一个完整的 ERTS,但它更容易处理,你不必担心复制目录或担心 erlang 版本不兼容,因为 erlang 附带了它(这个基本上是我们如何以二进制形式分配氮)。

3) (我的首选方法)制作一个苗条版本(制作 slim_X),这是一个不包含完整 ERTS 的最小版本。然后将整个目录置于源代码管理之下。您还可以安全地将 lib/ 添加到您的 .gitignore 文件中,允许 git 在需要时下载 deps。我更喜欢这种方法,因为它打包了所有内容,包括等中的配置、自定义命令以及您可能进行的任何其他修改。您可能会遇到的主要问题是,如果您将 slim repo 克隆到没有相同版本 Erlang 的机器上,但也有一个修复方法:make fix-slim-release。

我希望这有助于澄清一些事情。文档将随着即将发布的 2.3 版本进行更新,以正确讨论 Nitrogen 的 SCM 策略。

于 2014-10-11T13:35:15.350 回答