Кто-нибудь может опубликовать рабочий пример GitLab CI, который имеет внешние подмодули? - PullRequest
1 голос
/ 21 сентября 2019

Я пытаюсь заставить CI gitlab правильно работать с внешним подмодулем.

  • У меня есть подмодуль в ДРУГОМ репозитории, поэтому нет относительного пути.
  • Я НЕ хочу использовать ключ SSH.
  • Я хочу использовать токен CI (CI_JOB_TOKEN).

Документация НЕ ясна, потому чтовозможно, или нет, изменилось, и повсюду есть тексты с множеством разных подходов и, тем не менее, ничего, что соответствовало бы базовым критериям.

Раньше было невозможно вытащить подмодули с помощью CI, еслиу них был абсолютный путь, поэтому люди предлагали различные решения.Тогда это стало возможным, и есть несколько решений относительно проблем аутентификации.Но все они включают в себя создание клона, который больше не нужен, потому что теперь мы можем настроить CI для создания рекурсивного пула.

Это означает, что большинство онлайн-сообщений стали неактуальными и устаревшими, а ответы - это один из признакови там, но через несколько часов ни один из них не сработал для меня. Переменные: GIT_SUBMODULE_STRATEGY: рекурсивный1017 *

Теперь у меня есть:

variables:
  GIT_SUBMODULE_STRATEGY: recursive

before_script:
- git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/".insteadOf "git@gitlab.com:"
- git submodule sync && git submodule update --init

Который, согласно Получение GitLab CI для клонирования частных репозиториев , должен работать.

Но это не удается с:

fatal: не удалось прочитать имя пользователя для 'https://gitlab.com': Нет такого устройства или адреса

...