Задать вопрос

Как получить доступ к репозиториям подмодулей?

После разработки перенесли проект на продакшен сервер.
Проект с подмодулями, которых два - один из публичного репозитория, другой из закрытого.

Сабмодули не обновлюятся даже из публичного репозитория:
> git submodule update
Cloning into 'local/components/xxx'...
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Clone of 'git@github.com:Author/repo' into submodule path 'local/components/xxx' failed

Какой к черту Permission denied если репозиторий публичный?

Вторая проблема это использование Deploy key - он сделан и для основного репозитория и для одного из подмодулей, но если для основного я указал алиас при клонировании, то как указать алиас с деплой ключом для подмодуля? Как изменить настройки подмодуля, чтобы он брал теперь данные не с github.com, а с github.com-my-repo?
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Средний 3 комментария
Решения вопроса 1
Suntechnic
@Suntechnic Автор вопроса
Частично ответ такой:

Создаем отдельные ssh ключи для каждого репозитория и обавляем их как ключи для деплоя.
Создаем файл .ssh/config вида:
Host github.com-repo-1
        Hostname github.com
        IdentityFile=/home/bitrix/.ssh/id_rsa-repo-1
Host github.com-repo-2
        Hostname github.com
        IdentityFile=/home/bitrix/.ssh/id_rsa-repo-2
Host github.com-repo-3
        Hostname github.com
        IdentityFile=/home/bitrix/.ssh/id_rsa-repo-3


Далее клонируем репозиторий используя ключ развертывания:
git clone git@github.com-repo-1:Author/repo.git .

Далее изменяем локально URL доступа к репам подмодулей:
git config submodule.local/sources.url git@github.com-repo-2:Author/repo2.git

и тогда уже делаем:
git submodule init
 git submodule update


Однако почему Permission denied для публичного резпозитория, и зачем ему ключ деплоя и что делать если публичная репа будет не моя, я так и не понял :(
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы