2015-10-12 5 views
1

У меня есть два репозитория X и Y. Y ссылается на X в своем пакете.json для использования некоторых модулей. X и Y имеют главные ветви, и оба они развернуты в общий npm-registery (позволяет называть его версией 2.0.0). Таким образом, репо Y ссылается на X 2.0.0 в своем пакете. Json. Все хорошо, пока здесь.NPM определяет зависимость пакета без номера версии

Теперь проблема -

Я создал новый филиал в обоих РЕПО (позволяет называть их ЪМИ и от). Эти 2 ветви не готовы к объединению с мастером их соответствующих филиалов. Следовательно, Я не могу опубликовать новую версию X только с изменениями bX. Или я могу?

Но я хочу использовать изменения, которые я сделал в bX для использования в bY.

Когда я гугле вокруг, я обнаружил, что я могу дать URL рЭПО X в Y package.json как это - https://github.com/url-to-repo/X.git#bX и она отлично работает в моей локальной системе, когда я построил с НПМ. Но когда я использовал его с Дженкинс построить для тестирования среды, она не со следующей ошибкой -

The requested URL returned error: 403 while accessing https://github.com/url-to-repo/X.git/info/refs

И этот вопрос, кажется, связан со следующим -

Please upgrade your git client. GitHub.com no longer supports git over dumb-http: https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days

Я вошел Дженкинс сервер и версия git - 1.7.2.5 (в GitHub аннулируется поддержка DNS-дампа, но это не повлияет на вас, если вы не используете git-версию до версии 1.6.6 и извлекаете с помощью удаленного URL-адреса http - из github docs)

Так что я не понимаю, что здесь происходит. Кто-нибудь сталкивался с этой проблемой раньше?

+1

Можете ли вы использовать URL-адреса ssh? –

+0

Вместо http-адресов? Я не пробовал. Позвольте мне попробовать это сейчас. – Ivin

+0

@ IonicăBizău Да, это сработало. Большое спасибо. Не могли бы вы назвать это ответом, чтобы я согласился? Кроме того, это фактическое решение проблемы или работа вокруг? – Ivin

ответ

1

Решение может заключаться в использовании URL-адресов SSH вместо https.

Таким образом, вместо того, имея

https://github.com/user/repo.git 

Вы будете иметь

[email protected]:user/repo.git 

Если вы не создали ключи SSH на вашей машине, here is how to do it.

Смежные вопросы