Клонирование частного репозитория не удается в GitLab CI

Клонирование частного репозитория не удается в GitLab CI

Я использую GitLab CI и мне нужно клонировать две зависимости с одного и того же сервера GitLab.

Одна из моих зависимостей находится вКомпозитора другой вНПМ. Обе команды ( composer installи npm ci) завершаются ошибкой во время клонирования git.

Вот вывод, который выдает npm: (имена репозиториев отредактированы)

npm ERR! /usr/bin/git ls-remote -h -t [email protected]:in-house/repository.git
npm ERR! 
npm ERR! > GitLab: The project you were looking for could not be found.
npm ERR! fatal: Could not read from remote repository.
npm ERR! 
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR! 
npm ERR! exited with error code: 128

То же самое касается и композитора:

  [RuntimeException]
  Failed to execute git clone --no-checkout '[email protected]:forks/repository.git' '/builds/repo/vendor/repository' && cd '/builds/repo/repository' && git remote add composer '[email protected]:forks/repository.git' && git fetch composer  

У меня есть ключ развертывания, определенный в моей административной области, и закрытый ключ правильно добавляется в средство запуска, следуяgitlab tutorial с их сайта. Как показано линией Identity added: (stdin) (ci@gitlab)на каждом трубопроводе.

При добавлении того же закрытого ключа в одноразовый контейнер docker на моей локальной машине и клонировании репозиториев из этого контейнера все работает как и ожидалось. Даже при использовании того же пакета ssh и менеджеров зависимостей.

Контейнер Docker, который мы используем для непрерывной интеграции, также является частным и размещен в реестре контейнеров GitLab на основе Alpine Linux.

решение1

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

Во время проверки в одноразовом Docker-контейнере я, должно быть, случайно вставил свой собственный ключ вместо ключа в CI.

Связанный контент