Я все еще изучаю Gitlab-ci, но, может быть, cache
поможет?
Добавьте это перед извлечением репо, и бегун должен проверить, находится ли репо в кеше.
cache:
paths:
- repo1/
- repo2/
Ссылка на кеш Gitlab: https://docs.gitlab.com/ee/ci/caching/
Edit:
Или, может быть, было бы неплохо использовать субмодули Git для зависимых репозиториев?
Затем можно настроить бегуна на получение этих подмодулей в рабочую область, и у вас должен быть доступ к ним на протяжении всего задания ci.
Вам нужно добавить .gitmodules
файл, который будет выглядеть примерно так:
[submodule "repo1"]
path = repo1
url = ../repo1.git
[submodule "repo2"]
path = repo2
url = ../repo2.git
А потом в вашем .gitlab-ci.yml
variables:
GIT_SUBMODULE_STRATEGY: normal
Ссылка на подмодуль Gitlab: https://docs.gitlab.com/ce/ci/git_submodules.html