В Jenkins запускались «пустые» билды по таймеру, даже если за день не было изменений, что тратило ресурсы без пользы. Также требовалось навести порядок в реестрах образов и хранилищах.
Решение:
Мы проанализировали метаданные билдов и реализовали логику, при которой сборка по расписанию не стартует, если в течение суток не было других запусков и изменений; для этого использовались previousBuild, время старта предыдущего билда, опрос git репозитория.
Так же была создана Yandex Cloud Function для чистки контейнерного реестра от старых сборок: разобрали политики и примеры использования, написали и протестировали скрипт, уточнили критерии удаления и включили политики с нужными сроками хранения.
Результат:
Число бесполезных ночных билдов сократилось, а реестры и S3‑хранилища перестали бесконтрольно разрастаться. Это снизило нагрузку на инфраструктуру и затраты на хранение.
Метрики проекта:
Сократили количество бесполезных таймерных сборок на 80%, исключив запуск пайплайнов при отсутствии изменений в кодовой базе.
Уменьшили объем хранения контейнерных образов на 40% благодаря автоматической очистке Registry и внедрению политик хранения.
Снизили нагрузку на CI/CD-инфраструктуру на 35%, устранив выполнение ненужных ночных сборок.
Исключили необходимость ручной очистки хранилищ.
Сократили расходы на хранение docker образов и артефактов сборки на 40%.
Обсудить проект _
Если у вас есть ИТ-проблема , оставьте свои контакты, и мы поможем правительству спланировать ее решение . Обещаем не рассылать спам.