
Как мы перестали копировать .gitlab-ci.yml и спасли пайплайны от хаоса с помощью модулей
dellavrite 3 минуты назад Как мы перестали копировать .gitlab-ci.yml и спасли пайплайны от хаоса с помощью модулей Средний 23 мин 0 DevOps * Системы сборки * Git * Кейс Из песочницы Как избежать десятков MR при...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. dellavrite 3 минуты назад Как мы перестали копировать . yml и спасли пайплайны от хаоса с помощью модулей Средний 23 мин 0 DevOps * Системы сборки * Git * Кейс Из песочницы Как избежать десятков MR при обновлении пайплайнов и стандартизировать развертывание новых сервисов в GitLab CI? Решение — вынести части пайплайнов в отдельные изолированные модули.
Для кого эта статья: DevOps и SRE инженеры, которые устали поддерживать зоопарк шаблонных проектов или микросервисов и хотят навести порядок в CI/CD. В статье мы разберем:единый источник правды (SSOT) для логики пайплайна;стратегию версионирования и безопасный контроль обновлений;четкое разделение ответственности между разработкой и инфраструктурой. сколько времени это реально сэкономило — с цифрами и метриками.
Технические детали
И, конечно, покажем, как обходить грабли, когда проекту всё равно нужно «чуть-чуть иначе». Чего не будет в статье: Базовых туториалов по GitLab CI, сравнений с другими CI/CD-системами и глубокого погружения в кэширование или секреты. Статья фокусируется именно на архитектуре модульных пайплайнов и процессах их поддержки в продакшене.
yml по десяткам сервисов привел к config drift: пайплайны расходились, а правка одной строчки требовала 10+ MR. Вынесли логику CI в отдельный репозиторий модулей, подключаемых через include с версионированием по SemVer — в проекте остается только короткий файл с переменными. В итоге миграция с Kaniko на BuildKit заняла 5 дней вместо 2-3 недель, а типовой багфикс на 20 сервисах — 1 час вместо 11.
Как было раньше и почему мы ушли от этогоПоначалу копипаст . На 5-7 сервисах поддерживать их в таком виде было удобно и быстро. Но проектов становилось больше, старые жили годами, и пайплайны начали расходиться.
Отраслевые последствия
Начался config drift: где-то добавили кэш, где-то поменяли способ деплоя, а где-то просто написали велосипед для уже решенной задачи. И тут начались проблемы:Обновления. Нужно поправить одну строчку в нескольких проектах — открываешь 10 MR.
Пытаешься cherry-pick - ловишь конфликты. Делаешь новый сервис и думаешь: «Где вообще актуальный деплой под ArgoCD? В одном репо один фикс, в другом — другой, в третьем — вообще своя реализация.
Мы тратили часы не на новые задачи, а на чтение чужого копипаста, чтобы понять, как это вообще должно работать. А потом понадобилось мигрировать с Kaniko на BuildKit и переехать на свой registry. DockerHub начал отдавать ошибки в 80-90% случаев, разработка встала.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





