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



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

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

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

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

文档肯定需要为此进行更新,但这里有三种方法:

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

2) 把整个事情置于源代码管理之下。有了完整版本,这也意味着你的回购中有一个完整的ERTS,但它更容易处理,你不必费力地复制目录或担心erlang版本不兼容,因为erlang附带了它(这基本上是我们以二进制形式分发氮气的方式)。

3) (我喜欢的方法)制作一个精简版(make slim_X),这是一个没有完整ERTS的最小版本。然后将整个目录置于源代码管理之下。此外,您还可以安全地将lib/添加到.gitignore文件中,允许git在需要时下载deps。我更喜欢这种方法,因为它封装了所有内容,包括etc中的配置、自定义命令以及您可能进行的任何其他修改。你可能会遇到的主要问题是,如果你将你的瘦回购复制到一台没有相同版本Erlang的机器上,但也有一个解决方案:让修复程序瘦发布。

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

最新更新