Обновление 0.6.10: исправления ошибок и новый пайплайн сборки билдов
Исправления в Web билде:
- Исправил ошибку с разрешением, отключил изменение в настройках
- Исправил ошибки, связанные с локализацией: иногда тексты русском не отображались
- Исправил падение при выходе из боя
- Добавил тултип, при нажании на заблокированную кнопку Хост в мультиплеере
- Немного улучшил производительность
Общие исправления:
- Исправил ошибку, из-за которой на локации "Спорный остров" у синей команды создавались лишние постройки
- Добавил звуковые уведомления на экране лобби. Теперь можно услышать, когда кто-то подключился или отключился
- Немного уменьшил размер билда
Новый пайплайн сборки
При выпуске этого обновления сборка билдов отнимала очень много времени. Процесс выглядел так:
- Написать код и/или обновить ассеты;
- Сделать билд на Windows (ожидание 5-10 минут) и протестировать
- Переключить платформу на Web (ожидание 10-20 минут)
- Собрать под Web (ожидание 20-30 минут) и протестировать.
Если что-то идет не так, то алгоритм нужно повторять. Учитывая, что некоторые ошибки повторялись только в релизной сборке под Web, в ожидании я проводил слишком много времени. Ведь при переключении платформы в Unity происхдит не только реимпорт ассетов, но и сброс кэша сборки.
Я понял, что так работать нельзя и решил оптимизировать сборку билдов. У меня есть домашний сервер, но использовать его под агента сборки я не могу, так как на нем очень маленький SSD. Поэтому пришлось организовать на своей рабочей машине.
Мой план был такой:
- Создать второй клон репозитория только под Web сборку. Тогда как основной клон - под Windows. Так исключается переключение между платформами.
- Написать набор скриптов, которые запускают сборки без запуска визуальной части редактора Unity.
- Скрипт также должны:
Работаю я под Windows, поэтому я решил создавать скрипты по PowerShell, к тому же у меня уже был небольшой опыт написания таких скриптов. В качестве формата для конфигурации я выбрал XML, так как он поддерживается PowerShell из коробки. Для YAML пришлось бы устанавливать дополнительный модуль.
Разумеется, писать самостоятельно такие скрипты - расточительство, поэтому я попросил написать их Claude. После нескольких итераций получилось реализовать мою задумку.
Я остался доволен результатом: расход времени на простой из-за смены платформы и билда без кэша сильно снизился (правда, замерить слишком трудозатратно). Но все еще не идеально: так как во время сборки я не могу открывать редактор. В будущем, если проект разрастется, можно будет думать о полноценном CI/CD с отдельными билд агентами.
Следующим шагом хочу автоматизировать заливку билдов на платформы. И попробовать заменить клон репозитория для Web проекта на симлинки: сделать ссылки на папки Assets, Packages, ProjectSettings и некоторые другие, которые нужны для нормальной работы проекта Unity. Так я ожидаю исключить шаг с актуализацией клона.
Спасибо за то, что прочитали! Как бы вы улучшили процесс сборки? Как он организован у вас на проекте?



Комментарии (1)
Войдите, чтобы написать комментарий
Войти