0

我有一个使用 rebar3 的应用程序,例如牛仔。我的问题是:如何轻松配置它以从另一台主机获取牛仔?那就是我想将它从github指向另一个主机。

4

2 回答 2

1

你想构建有两个依赖项的牛仔,它们是 GitHub 上的 git 存储库(具体来说是https://github.com/ninenines/cowlibhttps://github.com/ninenines/ranch)。但是您想从其他主机获取存储库,例如您公司自己的 git 服务器,您在其中镜像了您需要的所有公共存储库。

您有多种选择:

  • Fork cowboy 并更改rebar.config. 这是我知道让Rebar3从不同位置获取依赖项的唯一(理智)方法。其他选项将针对Rebar3 下方的图层以实现相同的结果。
  • 配置 git 以将 GitHub URL-s 重写为服务器上的 URL-s,例如https://stackoverflow.com/a/11383587/9015322
git config --global url.https://git.mycompany.com/.insteadOf https://github.com/
  • 添加/etc/hosts将 github.com 解析为服务器 IP 的条目。您可能必须为 github.com 创建一个虚假的自签名证书,并让构建机器上的 git 信任它。但是您可以按照此处的建议进行操作:https ://stackoverflow.com/a/16543283/9015322
于 2019-10-18T21:31:38.243 回答
1

默认情况下,rebar3只会从 hex.pm、任何 git 存储库或任何 mercurial 存储库中获取包。您可以在此处查看您的选择。

如果这些默认值对您来说还不够,您可以创建自己的依赖资源。这将要求您编写一些 Erlang 代码,以便告诉rebar3如何查找和下载您尝试使用的包。

于 2019-10-08T18:27:53.713 回答