我的问题是,我的 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 构建失败...但是知道构建测试仅通过检出存储库的目录名称并不适合我。