Erlang 如何通过源头控制处理氮气应用?

Erlang 如何通过源头控制处理氮气应用?,erlang,nitrogen,Erlang,Nitrogen,据我所知,我只应该把我的网站目录下的版本控制。(见附件) 然而,所有的教程都提到我应该通过bin/niton控制台启动应用程序。但是,当我没有将bin目录放入我的存储库时,我应该从哪里获取它呢?启动应用程序的正确方法是什么 到目前为止,我尝试的是: 我已经看到,在由氮创建的目录中有一个Install脚本,但我不确定如何调用它,它有一些硬编码的版本。使用/Install/usr/lib/erlang/调用此脚本不起作用 运行make下载依赖项,但不创建bin文件夹 文档肯定需要为此进行更新,但您

据我所知,我只应该把我的网站目录下的版本控制。(见附件)

然而,所有的教程都提到我应该通过
bin/niton控制台启动应用程序。但是,当我没有将bin目录放入我的存储库时,我应该从哪里获取它呢?启动应用程序的正确方法是什么

到目前为止,我尝试的是:

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

文档肯定需要为此进行更新,但您可以采取以下三种方法:

1) 正如您提到的,如果您正在进行完整的发布(make rel_X),那么将站点置于源代码管理之下是很有用的,因为将整个erlang安装放到git中有点过分了。然后,将应用程序移动到另一台服务器时,您将安装氮气,运行make命令,然后克隆站点目录,替换默认站点目录

2) 将整个事情置于源代码控制之下。全面发布还意味着你的回购协议中有一个完整的ERT,但这更容易处理,你不必到处复制目录或担心erlang版本的不兼容性,因为erlang附带了它(这基本上是我们以二进制形式分发氮气的方式)

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

我希望这有助于澄清一些问题。文档将在即将发布的2.3版本中更新,以正确讨论氮气的SCM策略