Использовать конвейеры Bitbucket и подмодули git в частных репозиториях. - PullRequest
0 голосов
/ 22 февраля 2019

Мы пытаемся реализовать конвейер Bitbucket для частного проекта, содержащего подмодули git.На них ссылаются в нашем проекте следующим образом:

[submodule "plugins-custom/plugin-A"]
    path = plugins-custom/plugin-A
    url = ../plugin-A.git

Этот репозиторий существует и может быть безопасно извлечен локально с помощью git submodule update --init.

При выполнении той же команды с использованием конвейера Bitbucket,в журнал выводятся следующие строки:

+ git submodule update --init
Submodule 'plugins-custom/plugin-A' (http://bitbucket.org/$team/plugin-A.git) registered for path 'plugins-custom/plugin-A'
Cloning into 'plugins-custom/plugin-A'...
fatal: could not read Username for 'https://bitbucket.org': No such device or address
Clone of 'http://bitbucket.org/$team/plugin-A' into submodule path 'plugins-custom/plugin-A' failed

Понятия не имею, почему это происходит, и я уже попробовал другие шаги:

  • Сгенерирован ключ SSHв проекте, который содержит и запускает подмодуль, ключ был добавлен в ссылочный репозиторий plugin-A
  • Я возился с изменением URL подмодуля с этого относительного на абсолютный (lke указан в URLgit submodule определен правильно)
  • Я пытался добавить настройки прокси, как конвейер уже делает во время настройки агента (например, git config http.https://bitbucket.org.proxy http://localhost:29418/)

Есть ли очевидная ошибка вмои настройки?Что еще я могу попытаться заставить это работать?

1 Ответ

0 голосов
/ 22 февраля 2019

Хорошо, я не думал, что моя ошибка была настолько очевидна, но мои коллеги смогли быстро помочь:

  • Конвейер выполняет git checkout, используя URL-адрес HTTP для нашего хранилища, а неиспользуя SSH
  • Таким образом, указанные подмодули также были извлечены с использованием HTTP-URL
  • Очевидно, что это не удалось, поскольку это частный репозиторий, в котором анонимный доступ не разрешен

Решение: выполнить проверку субмодулей, используя SSH, через git@bitbucket.org:$team/plugin-A.git

...