Top.Mail.Ru
 

Создание “инфраструктуры по требованию” - построение управления воркерами и служебные скрипты для пайплайнов для GameDev компании

Задача:

Важно было автоматизировать управление воркерами в Яндекс.Облаке: запускать их только на время сборок, корректно выключать, а также связать это с триггерами GitHub и Jenkins, чтобы не держать ресурсы постоянно включенными.

Решение:

Мы исследовали варианты интеграции с Yandex Cloud и реализовали схему, при которой один пайплайн поднимает запускает воркер, а второй запускает основную сборку. Для этого были подготовлены служебные скрипты, интегрированные в Jenkins‑пайплайны.

Был настроен единый webhook GitHub, принимающий события push и pull request, и реализована логика разбора JSON‑payload для определения версии релиза и запуска нужных пайплайнов. В Jenkins добавили функцию выключения воркера и признаки запуска по крону, что позволило тонко управлять жизненным циклом машин.

Результат:

Мы реализовали динамическую CI/CD-инфраструктуру, готовую к росту числа проектов и сборок без постоянного увеличения облачных затрат - инфраструктура перестала быть «постоянно включенной» — воркеры теперь запускаются и останавливаются по факту необходимости. Это существенно снизило облачные расходы, позволило многократно сократить время сборки за счет увеличения сайзинга серверов сборки и сделало работу с пайплайнами более предсказуемой и прозрачной для команды.

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

  • Снизили расходы на облачную инфраструктуру на 50% благодаря автоматическому запуску и остановке сборочных воркеров.
  • Автоматизировали до 100% управления жизненным циклом build-агентов, исключив ручное включение и выключение виртуальных машин.
  • Уменьшили время простоя сборочных ресурсов на 90%, используя вычислительные мощности только во время выполнения сборок и автоматическое управление по событиям Github.
Обсудить проект _
Если у вас есть ИТ-проблема , оставьте свои контакты, и мы поможем правительству спланировать ее решение . Обещаем не рассылать спам.
hello@softwarecats.dev
Новосибирск, ул. Демакова
23/5, оф.308
Контакты _

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