У меня есть проект, размещенный на Github, и одна из его зависимостей размещена на Bitbucket. Оба репозитория частные, но у нас есть к ним доступ.

Я недавно добавил git tag для управления версиями, потому что сервер сборки на сайте клиента не получил самую последнюю версию одной зависимости.

Итак, package.json теперь выглядит так

"ember-custom-adapter": "git+ssh://git@bitbucket.org:path-to-project.git#v0.0.7",

Я на 100% уверен, что git tag v0.0.7 действительно доступен в этом репозитории Bitbucket.

Но когда Travis CI запускает сборку, происходит сбой с ошибкой Отсутствуют пакеты npm . Подробности смотрите на скриншоте

Пометка №1 показывает, что команда npm install вызывается, но метка №2 показывает подсказку, чтобы запустить ее снова, потому что пакет не был найден. Что для меня не имеет смысла. Раньше он работал без тегов, но по какой-то причине использовалась более старая версия пакета зависимостей.

Любые идеи?

enter image description here

ОБНОВЛЕНИЕ

Сейчас это исправлено, но до сих пор неясно, что на самом деле вызвало проблему. Похоже, что наша сборка Travis CI работает немного иначе, чем клиентская сборка Jenkins. Так что то, что проходило в нашем Трэвисе, не сработало в его Дженкинсе. Что странно. В ответ добавлю текущее рабочее решение

2
David Votrubec 7 Июл 2016 в 18:36

1 ответ

Лучший ответ

Нам удалось найти рабочее решение, но мы не нашли, что на самом деле вызвало проблему.

Мы используем Travis CI в качестве нашего сервера сборки, но заказчик использует Jenkins. То, что прошло с Трэвисом, не сработало с Дженкинсом. В частности, он не смог найти одну зависимость npm.

Итак, рабочее решение выглядит так

  • Вкладка Git в зависимом репозитории помечена только числовыми значениями. Мы изменили v0.0.7 на 0.0.9
  • package.json в этом репозитории имеет ту же версию
  • основной проект ссылается на зависимость, подобную этой "ember-custom-adapter": "git+ssh://git@bitbucket.org:path-to-project.git#0.0.9"

Если кто узнает, в чем проблема, буду рад

0
David Votrubec 8 Июл 2016 в 13:42
Я не нашел лучшего решения, и никто не ответил, поэтому я просто приму свой ответ
 – 
David Votrubec
11 Июл 2016 в 10:26