Ускоряем CI/CD: новое видео с Дмитрием Куликовым уже на канале… — DevOps by REBRAIN — TG.ME

🔥 Ускоряем CI/CD: новое видео с Дмитрием Куликовым уже на канале

Делимся записью открытого практикума, где разобрали, как ускорить сборку пайплайна в GitLab CI/CD и избавиться от лишней передачи зависимостей между этапами. Краткий конспект👇🏼

🟢Где теряется время
Каждая лишняя загрузка зависимостей, тяжёлые докер-образы под тесты и последовательный (а не параллельный) прогон разных видов тестирования: из-за этого сборка растягивается на десятки минут вместо секунд.

🟢Кэш vs Артефакты
Кэш нужен для зависимостей: привязывается к ключу (например, файлу package-lock.json) и не перекачивается заново, пока файл не менялся. Артефакты нужны для готового результата: бинарник, докер-образ, отчёт о тестах, то есть то, что нужно передать дальше или сохранить на время.

🟢Главная ошибка
Передавать зависимости (node_modules) через артефакты вместо кэша. В демо это добавляло около 7 минут на пустом изменении README, потому что зависимости выкачивались и упаковывались заново при каждом пуше.

🟢Оптимизация Dockerfile
Если копировать файл зависимостей отдельно от остального кода, слой с npm install кэшируется докером и не пересобирается, пока сами зависимости не менялись.

🟢Раннер
В конфиге GitLab Runner можно включить pull_policy: if-not-present, чтобы раннер не тянул образ заново, если он уже скачан локально.

Итог: сборка сократилась с 7 минут до 3,25 минуты, больше чем в 2 раза.

Основные элементы конфига (примеры)
🟢cache: key: files: привязка кэша к конкретному файлу зависимостей
🟢artifacts: paths / expire_in: что сохранить и на какой срок
🟢artifacts: reports: junit: результаты тестов прямо в интерфейсе GitLab
🟢tags: привязка джобы к конкретному раннеру
🟢pull_policy: ["if-not-present"]: не скачивать образ повторно, если он уже есть

Больше подробностей про раннеры, кэш, артефакты и Dockerfile в полной записи вебинара! 👇🏼

↘️ Смотреть в YouTube
↘️ Смотреть в ВК

Для тех, кто хочет на практике разобраться с CI/CD и инфраструктурой под капотом, можно начать бесплатно с демодоступов к практикумам:

↘️ Начать бесплатно практикум GitLab CI
↘️ Начать бесплатно практикум DevOps: IaC
YouTube
CI/CD, который собирается 40 минут. Как ускорить?
🔥Бесплатный демодоступ к практикуму DevOps: IaC: https://clck.ru/3VVEwf 🔥Бесплатный демодоступ к практикуму Gitlab CI: https://clck.ru/3VVF3J Понравилась запись вебинара? Приходи на другие эфиры по DevOps и инфраструктуре: https://clck.ru/3VVEe3 Запись…
👍14❤4🔥2👏1
August 28, 2026 2.2K 50