Top.Mail.Ru
 

Оптимизация стоимости владения CI/CD для GameDev компании

Задача:

В Jenkins запускались «пустые» билды по таймеру, даже если за день не было изменений, что тратило ресурсы без пользы. Также требовалось навести порядок в реестрах образов и хранилищах.

Решение:

Мы проанализировали метаданные билдов и реализовали логику, при которой сборка по расписанию не стартует, если в течение суток не было других запусков и изменений; для этого использовались previousBuild, время старта предыдущего билда, опрос git репозитория.

Так же была создана Yandex Cloud Function для чистки контейнерного реестра от старых сборок: разобрали политики и примеры использования, написали и протестировали скрипт, уточнили критерии удаления и включили политики с нужными сроками хранения.

Результат:

Число бесполезных ночных билдов сократилось, а реестры и S3‑хранилища перестали бесконтрольно разрастаться. Это снизило нагрузку на инфраструктуру и затраты на хранение.

Метрики проекта:

  • Сократили количество бесполезных таймерных сборок на 80%, исключив запуск пайплайнов при отсутствии изменений в кодовой базе.
  • Уменьшили объем хранения контейнерных образов на 40% благодаря автоматической очистке Registry и внедрению политик хранения.
  • Снизили нагрузку на CI/CD-инфраструктуру на 35%, устранив выполнение ненужных ночных сборок.
  • Исключили необходимость ручной очистки хранилищ.
  • Сократили расходы на хранение docker образов и артефактов сборки на 40%.
Обсудить проект _
Если у вас есть ИТ-проблема , оставьте свои контакты, и мы поможем правительству спланировать ее решение . Обещаем не рассылать спам.
hello@softwarecats.dev
Новосибирск, ул. Демакова
23/5, оф.308
Контакты _

Еще про наши проекты: