Я пытаюсь включить подмодуль в свой репозиторий GitLab. Он отлично работает локально, но мой конвейер сборки дает сбой. Согласно этой записи в документации, все, что мне нужно сделать, это использовать относительный URL-адрес и настроить GIT_SUBMODULE_STRATEGY
, но на самом деле это не работает.
Мой .gitmodules
:
[submodule "res/submoduleName"]
path = res/submoduleName
url = ../submoduleName.git
.gitlab-ci.yml
:
variables:
GIT_SUBMODULE_STRATEGY: recursive
integration-test:
# ...
Я получаю следующую ошибку в оболочке Pipeline:
Updating/initializing submodules recursively...
Submodule 'res/submoduleName' (https://gitlab-ci-token:[MASKED]@gitlab.com/mainProjectName/submoduleName.git) registered for path 'res/submoduleName'
fatal: destination path '/builds/_oBZKNaH/0/mainProjectName/mainProjectName/res/submoduleName' already exists and is not an empty directory.
fatal: clone of 'https://gitlab-ci-token:[MASKED]@gitlab.com/mainProjectName/submoduleName.git' into submodule path '/builds/_oBZKNaH/0/mainProjectName/mainProjectName/res/submoduleName' failed
Failed to clone 'res/submoduleName'. Retry scheduled
fatal: destination path '/builds/_oBZKNaH/0/mainProjectName/mainProjectName/res/submoduleName' already exists and is not an empty directory.
fatal: clone of 'https://gitlab-ci-token:[MASKED]@gitlab.com/mainProjectName/submoduleName.git' into submodule path '/builds/_oBZKNaH/0/mainProjectName/mainProjectName/res/submoduleName' failed
Failed to clone 'res/submoduleName' a second time, aborting
Cleaning up file based variables
00:00
ERROR: Job failed: exit code 1
Что я могу сделать, чтобы решить эту проблему?
Является ли путь
res/submoduleName
существующей папкой с содержимым до вашего решения использовать подмодуль на этом пути? Если да, то вам нужно сначала удалить эту папку как локально, так и удаленно, прежде чем вы сможете зарегистрировать путь как путь к субмодулю.Нет, такой папки никогда не было до добавления подмодуля