Я пытаюсь заставить 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': Нет такого устройства или адреса