Я предполагаю, что когда вы говорите, что ваш GitLab Runner сконфигурирован в Kubernetes, вы имеете в виду, что вы используете исполнителя Kubernetes. Я отметил разделы, имеющие отношение к вашим вопросам.
(1) GitLab CI извлекает код из хранилища (если это общедоступно, это не проблема, но вы также можете использовать личный реестр ). По существу, вспомогательный образ используется для клонирования репозитория и загрузки любых артефактов в контейнер.
Исполнитель Kubernetes позволяет использовать существующий кластер Kubernetes для выполнения шага конвейера / сборки, вызывая API-интерфейс кластера Kubernetes и создавая кластерный API-интерфейс Kubernetes. новый модуль Pod с контейнерами для сборки и обслуживания для каждой работы. (3)
A более подробное представление шагов Бегун принимает:
- Подготовка: Создайте модуль противкластер Kubernetes. Это создает контейнеры, необходимые для запуска сборки и служб.
- Предварительная сборка: клонирование, восстановление кэша и загрузка артефактов с предыдущих этапов. Это выполняется на специальном контейнере как часть Pod. (2)
- Сборка: сборка пользователя.
- Пост-сборка: создание кэша, загрузка артефактов в GitLab. Здесь также используется специальный контейнер как часть Pod.
Хранилище GitLab для бегунов также может быть вам интересно.