Как настроить rebar3 для получения зависимостей с другого хоста? - PullRequest
0 голосов
/ 08 октября 2019

У меня есть приложение, которое использует rebar3, например, ковбой. Мой вопрос: как я могу легко настроить его для получения ковбоя с другого хоста? То есть я хочу указать его с github на другой хост.

Ответы [ 2 ]

1 голос
/ 19 октября 2019

Вы хотите построить cowboy , который имеет две зависимости, которые являются git-репозиториями на GitHub (https://github.com/ninenines/cowlib и https://github.com/ninenines/ranch, если быть точным). Но вы хотите получить репозитории с другого хоста, например с собственного git-сервера вашей компании, на котором вы зеркалировали все необходимые вам публичные репозитории.

У вас есть несколько вариантов:

  • Forkковбой и измените URL-адреса зависимостей в rebar.config. Это единственный (здравый) способ, который я знаю, чтобы заставить Rebar3 извлекать зависимости из другого места. Другие опции будут нацелены на слои ниже Rebar3 для достижения того же результата.
  • Настройте git для перезаписи URL-адресов GitHub на URL-адреса на вашем сервере, например, 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
1 голос
/ 08 октября 2019

По умолчанию rebar3 будет захватывать только пакеты из hex.pm, любого git-репозитория или любого ртутного репозитория. Вы можете увидеть ваши варианты здесь .

Если этих значений по умолчанию вам недостаточно, вы можете создать свои собственные ресурсы зависимости . Это потребует от вас написания некоторого кода Erlang, чтобы сообщить rebar3, как найти и загрузить пакеты, которые вы пытаетесь использовать.

...