Как стать автором
Обновить

Комментарии 9

Привет! Немного критики :)

> В один момент я почти поверил в то, что никто не использует удалённую сборку, или это что-то элементарное, но именно отсутствие внятной документации и немногочисленные статьи с устаревшей информацией и вынудили меня написать этот материал, который, надеюсь, поможет читателям оптимизировать процесс сборки кросс-платформенных приложений.

1. Во-первых, совершенно незачем использовать ручную конфигурацию rsync'а, когда достаточно дать remote control для юзера. См. docs.unrealengine.com/en-US/Platforms/Mobile/iOS/Windows/index.html, конфигурация для удаленной сборки уже давно превратилась в «пройди по доке и все работает».

2. Описанный вариант это НЕ оптимальный вариант :) Да, никто (ок, 99%) не использует удаленную сборку таким образом для целей продакшна. Это костыль, оставшийся от UE3 и нужный скорее для экспериментов и проектов с минимумом C++ кода, который как бы есть, но время его сборки — незначительно.

Потому что:
— если тебе нужно дебажить и профайлить билд: ты идешь к маку и аттачишься к нему через Xcode
— если тебе нужен билд на «поиграть/потестить» или «на релиз»: ты делаешь сборку через CI/CD и получаешь либо ипашку, либо апдейт в файрбейзе/аппцентре.

Более того, remote build:
— не собирает шейдаки в бинари, они идут в текстовом виде
— у него нет инкрементальной компиляции, полная пересборка every time
— не поддерживает сборку плагинов или проектов, использующие статик либы (никаких «ашек»)

Т.е. такой билд не предназначен ни для дебага, ни отладки, ни релиза.

В любом случае, статье плюсик, как минимум это пример альтернативной конфигурации и настройки rsync'а, что бывает полезно :)
Привет! Спасибо за критику :)
Да, нужно было уточнить, что мануал писался для решения проблемы быстрого тестирования сборки на IOS без «дёргания» тестфлайта и CI/CD системы
Пардон, а актуальная документация не отображает реальность? Не докапываюсь, реально интересно качество документации у Анриала по этому вопросу и стоит ли ей доверять вообще.
В официальной документации отражены основные шаги, но не освещены некоторые подводные камни (login shell, корректность пути к проекту, настройка RSync)
Аргумент, конечно, сомнительный, но изначально все эти хождения по различным материалам и магия с RSync начались как раз из-за того, что стандартное решение из официальной документации упорно отказывалось работать :)
У меня по документации проблем не возникло. Так же можете почитать мою статью в дополнение к этой. Пункты 2.2-2.3, да и в целом всю статью можно — собран мой жизненный опыт по сборке под iOS.
По правде говоря, такой способ даже для тестов не сильно-то годиться. Куда удобнее использовать CI, зайти в браузере на страничку и нажать Build. Билд скачать сразу с нужного девайса минут через 5, чем грузить его вручную на телефон с ПК через провод. Особенно когда должно протестить игру сразу несколько человек.

Мы используем Мак-миник с Jenkins. Собираем на нем сразу Android и iOS. Удаленную сборку не использовали никогда, так как для разных платформ получаются разные пайплайны. А так все быстренько и удобно. Если не используете, очень советую.
Единственное, настроить сервер и сборку Unreal Engine таким образом небольшой гемор, но это один раз, когда не знаешь, что делать.
Спасибо! Про Jenkins знаю, но в команде, в которую я недавно перешёл, в почёте Azure. Поэкспериментирую на досуге с дженкинсом, может удастся всё это дело улучшить :)
Очень рекомендую посмотреть на Teamcity. До трех агентов включительно он бесплатен, этого более чем достаточно.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории