Это история о том, как мы используем Unity Cloud Build внутри и как это решение может облегчить вашу жизнь, а также жизнь ваших пользователей. Узнайте, как мы работаем над тестированием больших проектов и какие потрясающие возможности теперь доступны!
Давным-давно
Во время разработки огромного релиза Unity 5 и всего того, что он за собой повлек, мы часто сталкивались с вопросами в рамках больших и важных проектов. Для Unity 5 мы хотели API фильтр, что в некоторых случаях означало, что пришлось бы нарушить обратную совместимость. Часто при импортировании старых проектов в Unity 5 мы были вынуждены исправлять скрипты вручную. Мы также сталкивались с серьезными багами и регрессией в графике, физике и производительности.
Наши тестировщики делают отличную работу, чтобы убедиться в том, что проект импортируются, создаются и запускаются так, как надо в каждом новом билде на всех поддерживаемых нами платформах. Но так как мы ограничены во времени, мы обычно использовали небольшие проекты (такие как AngryBots или Nightmares), чтобы проводить тестирование. Такие проекты не используют многие из функций Unity, каждая из которых может неправильно работать в следующей версии. И они отстают по размеру и сложности от многих проектов, которые разрабатывают наши пользователи.
Нам повезло, что несколько крупных студий делятся с нами полными папками своих проектов (например, Republique), и мы вручную импортируем и создаем эти игры в каждом новом билде на стадии беты и релиз-кандидата. Мы нашли и исправили множество проблем до того, как с ними столкнулись наши пользователи, но это была непростая и весьма затратная по времени задача.
Вот как тогда работало тестирование:
Все это обычно выполнялось одним человеком и могло занимать по несколько дней.
Славное настоящее
Мы очень быстро начали обсуждать, как мы можем автоматизировать хоть что-то из всего этого. Пока мы разбирались с этим, в другой части нашей компании шла активная работа над тем, что теперь является Unity Cloud Build. Cloud Build выглядит крайне привлекательно для автоматизации тестирования крупных проектов.
Быстро возвращаемся в наши дни. После того мы выпустили Unity 5.1, а затем вышел и Cloud Build, тестирование крупных проектов пошло с использованием совершенно других процессов (как это выглядит, представлено ниже):
Это позволяет нам сохранить много времени, так как билд можно сделать буквально в несколько кликов и при этом билдить все проекты параллельно. Как только билды готовы, мы получаем сообщение по e-mail, и можем начать тестирование на всех платформах. Если во время импорта или сборки билда что-то идет не так, мы также получаем сообщение и можем сразу отреагировать.
Unity Cloud Build также можно сконфигурировать, чтобы автоматически учитывать репозиторий для изменений и автоматической пересборки поектов. Он может пересобирать проекты для каждой поддерживаемой версии Unity.
Блестящее будущее
Мы хотим иметь возможность масштабироваться, чтобы тестировать больше проектов, но есть и лимитирующий фактор – запуск билдов на устройствах. Чем больше проектов у нас есть в Unity Cloud Build, тем больше билдов нам нужно устанавливать и запускать на устройствах.
Самой большой проблемой тестирования на мобильных устройствах является их очень большое разнообразие (особенно на Android), и у нас есть возможность проводить тестирование лишь на нескольких самых популярных моделях. Мы хотим знать, как билды запускаются на больше устройств (включая даже достаточно экзотические). We would like to know how these builds run on most devices (including some of the more esoteric ones). С этой целью мы изучаем сервисы, такие как TestDroid и AppThwack.
Эти сервисы дают нам доступ к сотням устройств, и мы можем запускать наши проекты на любом из них. Они предлагают REST API, который мы можем использовать, чтобы переносить билды из Unity Cloud Build напрямую в них. Что мы получаем взамен – это данные производительности (CPU, память, многопоточность), скриншоты игры во время ее работы на устройстве, возможность запускать кастомные тестовые скрипты, получать логи устройств и многое другое.
Загружая все эти данные в наше хранилище данных, мы можем отслеживать метрики для всех версий Unity, проектов и устройств и быстро обращать внимание на производительность, рендеринг и ввод.
Unity Cloud Build и вы
Unity Cloud Build – это вопрос нашего выбора, когда речь заходит о трудоемких задачах и затруднениях при импортировании проектов в новейшие билды Unity, переключение платформ и создании проектов. Но мы, в первую очередь, создаем Unity Cloud Build, помня именно о вас, наших пользователях. Если вы только начинаете новый Unity-проект, попробуйте Cloud Build бесплатно и убедитесь сами, насколько приятно, что мы делаем за вас тяжелую работу, и как легко делиться финальной сборкой с членами вашей команды. Если вы ветеран в работе с Unity, вы обязательно найдете для себя что-то подходящее в одном из вариантов лицензий.
Итак, что вы еще ждете? Попробуйте Unity Cloud Build! Возможно, это самое лучшее, что случилось с вами с тех пор, как мы внедрили кнопку Cancel Build.
Is this article helpful for you?
Thank you for your feedback!