1

我的问题是,我的 Erlang 应用程序应该如何可靠地在 priv 目录中找到二进制文件,而不仅仅是在生产环境中;正确安装时,但在普通测试期间?

今天,当我将 travis-ci 配置添加到旧的 Erlang 应用程序并将其推送到 git-hub 时,我意识到它在本地工作的过程比我想象的要脆弱一些。travis-ci 构建失败了,因为它并非不合理地将我的 repo 检出到以 repo 命名的目录中,该目录的格式为 erlang-APP。我的应用程序在本地位于一个名为 APP-VSN 的目录中。

这样做的结果是,在本地运行普通测试期间调用code:lib_dir(APP)返回正确的结果,但是如果我将当前目录重命名为 erlang-APP 而不是 APP-VSN(或者只是 APP 也可以)我的本地构建失败,就像它适用于 travis-ci,因为code:lib_dir(APP)返回{error,bad_name}. 就好像将行为..添加到rebar ct.

将我的 github 存储库从 erlang-APP 重命名为 APP 解决了 travis-ci 构建失败...但是知道构建测试仅通过检出存储库的目录名称并不适合我。

4

1 回答 1

1

一种方法是使用软链接(在版本控制下的 repo 中,或在初始化测试时创建),并使您的 Erlang 代码路径通过链接。例如,“./APP” -> “.”,或“./lib/APP” -> “..”。

于 2017-04-02T19:03:40.220 回答