Добрый день, подскажите пожалуйста, новичок в этих вопросах
Имеется GitLab CE, который кроме хранения кода, используется ещё как CI/CD
Сборочная машину успешно настроена, и успешно собирает .Net сайты и деплоит их на IIS с помощью WebDeploy. Всё работает, вопросов нет.
Теперь возник другой вопрос, появился проект, который использует дополнительный проект из репозитория (submodule), по умолчанию из коробки когда тем же nuget пытаюсь восстановить необходимые пакеты, он не находит packages в этом доп. проекте, потому что Gitlab не вытянул его, для этого я в настройки проекта добавил переменную GIT_SUBMODULE_STRATEGY со значением normal.
Сборщик начал делать попытки вытянуть дополнительные репозитории, но не смог, ошибка Host key verification failed.
Я так понял, для него дополнительный репозиторий закрыт, и он не может вытащить от туда данные.
Начал гуглить, и нагуглил такую идеологию, но не факт что правильно понял, документация гитлаба пишет, что как бы есть несколько вариантов один из которых что, грубо говоря создаётся некий пользователь, он же допустим develop или mantainer этого проекта в который не пускает, у этого пользователя создаётся SSH ключ, и уже с помощью этого ключа как то в файле gitlab-ci.yml он отдаётся, тем самым как бы авторизуюсь в репозитарии и получая доступ к нему на чтение
А есть ещё второй специальный и проще вариант через Deploy keys в админке.
Как я понял, админ генерирует любой SSH ключ и создаёт его в админке Deploy keys под каким нибудь названием, например all-access,
Далее разработчик уже, если он хочет расшарить свой репозитарий для деплоя других разработчиков (их проектов) , то он заходит в настройки своего проекта , в настройки репозитория, и активирует ранее созданный админом ключ в режиме Enabled Deploy Keys