Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
У данной реализации есть два серьёзных недостатка:
1) любой разработчик может обрушить всю CI инфраструктуру, добавив в .gitlab-ci.yml команду на удаление всех контейнеров.
2) возможные трудности при параллельном запуске нескольких одинаковых пайпов например, возможен конфликт имён контейнеров и артефактов в расшаренных volumes.
Вариант с docker-in-docker отлично работает, даже при условии запуска раннера и самого гитлаба в контейнерах.
Могут быть трудности, например с пробросом перемётных среды и сертификатов для private registry в dind контейнер (gitlab-CI пока что этого не умеет), но они обходятся созданием кастомного образа dind с зашитыми сертификатами.
Как тестировать контейнеры RoR с GitLab CI в контейнере