Top.Mail.Ru
 

Инфраструктурные сервисы для MMORPG

Продукт:

MMORPG игра

Задача:

К нам обратилась компания EAM-Networks с задачей наладить CI\CD пайплайны для сборки, написать сервисы, которые будут управлять сборкой тестовых, альфа-, бета- и продакшен-релизов, а также взаимодействовать с CDN для оперативной доставки обновлений до пользователей.

Итоги:

  • Разработали и внедрили систему аутентификации и авторизации для внешних и внутренних сайтов игры в разных доменах.
  • Настроили пайплайны сборки клиента и сервера игры в Jenkins.
  • Разработали систему управления релизами, которая в простом и понятном интерфейсе сможет показать уже выпущенные и позволит создать новый релиз нужного уровня в 4 клика.

Период работы:

Май 2020 — Июль 2020

Команда:

4 человека: DevOps, 2 Java-разработчика, Front-end разработчик

Технологии:

Решение:

  • Определили роли и уровни релизов, после чего попросили DevOps-команду настроить пайплайны. Изучили API Jenkins, Nexus и CDN - как запускать сборку нужной версии, публиковать её в корректный репозиторий Nexus и далее - в соответствующий регион CDN.
  • Пока шла подготовка пайплайнов, установили Keycloak и настроили пользовательские домены. Параллельно начали разработку core-модуля, отвечающего за поставку данных на сайты и управление статусами релизов.
  • Развернули API-gateway и интегрировали его с Keycloak, тем самым разграничив доступ для внутренних и внешних пользователей - тестировщиков, альфа- и бета-тестеров. Проверили интеграцию с лаунчером игры, корректность авторизации и распределение прав доступа.
  • Интегрировались с Jenkins и убедились, что релиз можно запускать одной кнопкой из интерфейса, а готовая сборка публикуется в нужную зону доступности. Проверили систему доставки через CDN и решили для внутренних пользователей раздавать билды напрямую из Nexus, без CDN.
  • Проект успешно сдан в эксплуатацию.
Мы продумали систему ролей и уровней доступа так, чтобы связка Keycloak, API-gateway и Jenkins обеспечивала управляемость релизов и гибкость доступа. Теперь каждая сборка проходит контролируемо и предсказуемо, а релизы можно выпускать буквально одним нажатием.
Семён Бондарев, Java-разработчик Software Cats
Java
PostgreSQL
Release management
Обсудить проект _
Если у вас есть ИТ-проблема , оставьте свои контакты, и мы поможем правительству спланировать ее решение . Обещаем не рассылать спам.
hello@softwarecats.dev
Новосибирск, ул. Демакова
23/5, оф.308
Контакты _

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