M
Minutri | Unity
@minutri651 подп.
1.3Kпросмотров
16 апреля 2024 г.
questionScore: 1.4K
🤓CI/CD. Зачем нужно непрерывное развертывание (CD)? Целью CD является доставка измененной версии приложения в эксплуатацию. Из книги: В отделе маркетинга одного предприятия — назовем его «Big Money Online Commerce Inc.» — решили пересмотреть процедуру регистрации на сайте своего интернет-магазина. Целью было привлечение новых клиентов и увеличение объема продаж. 🛑Из-за отсутствия CD возникли проблемы: — на рабочем окружении оказались конфиги для теста, а не для релиза. — после кодефриза (по всей видимости), кто-то закинул вместе с небольшим исправлением что-то еще. В результате у клиентов не открывалось окно регистрации, и не понятно вообще, сколько денег потеряла компания. И это только одно развертывание. Насколько вероятно, что проблемы возникнут и в следующий раз? ⚡️CD предотвращает подобные проблемы различными мерами. 1) Развертывание осуществляется чаще — вплоть до нескольких раз в день. 2) Частые развертывания также ускоряют получение отзывов на новые особенности и изменения в коде. Разработчикам не приходится вспоминать, что делалось в прошлом месяце. 3) Чтобы развертывание протекало быстрее, создание тестового окружения и собственно тестирование должны осуществляться автоматически. 4) Автоматизация улучшает воспроизводимость: если тестовое окружение было благополучно создано, ту же автоматизированную процедуру можно использовать для создания рабочего окружения практически с той же конфигурацией. Как следствие, проблемы, вызванные ошибками в конфигурации, не будут возникать в рабочем окружении. 5) Автоматизация дает больше гибкости. Тестовые окружения можно создавать по мере необходимости, под задачи. 6) Автоматизация самого тестирования. 7) Риски, связанные с установкой новых версий, существенно уменьшаются за счет такой настройки процедуры развертывания в рабочем окружении, которая дает возможность легко откатиться к старой версии. 8) Приложения находятся под постоянным «присмотром» — мониторингом, поэтому неожиданная остановка любого процесса, например отвечающего за регистрацию, не останется незамеченной. 👊Переместимся в геймдев, Unity. Тут важно посмотреть процессы и продукт. Сначала поговорим о бОльшей доле продуктов Unity — мобильные игры. В них бОльшая доля — кеж, гиперкеж. 1️⃣Что для них наиболее важное? Быстрая разработка, быстрая проверка на игроках. Не заходит — идем дальше, по кругу. Заходит — отлично, работаем. Как поможет CD. Для игр, которые выстреливают — сразу нужно наладить поставку. Поэтому, рекомендация: наладить процесс поставки сразу для всей компании (отдела) и по аналогии распространять на другие игры, так как этот процесс будет постоянным. 2️⃣Для всех других видов игр и не игр вовсе. Когда продукт выходит из фазы прототипирования, стиль CI должен быть схож. А вот CD отличается. Если для игр это будут поставки в Play Market, App Store, Steam и др, то вот с продуктами (например тренажерами) все по другому. Там вообще могут быть отдельные машины, сервера, docker. Сложности в безопасности, ключах, версиях, лицензиях. Если это приложения (условно оконные), то там третья история. Рассуждать можно долго, но как факт — в каждом конкретном случае нужны свои решения и толковые специалисты. #thematic_post | #cicd
1.3K
просмотров
3210
символов
Да
эмодзи
Нет
медиа

Другие посты @minutri

Все посты канала →
🤓CI/CD. Зачем нужно непрерывное развертывание (CD)? Целью C — @minutri | PostSniper