Привет, читатель!
В предыдущей статье я рассказал о существующих CI/CD системах и объяснил, почему мы выбрали связку Unity Cloud Build + TeamCity. В этой и следующих статьях я покажу вам как вы можете настроить такую же связку самостоятельно.
В этой статье мы сделаем нашу первую сборку через Unity Cloud Build
Усаживайтесь поудобнее — впереди много интересной и полезной информации!
Об авторе
Меня зовут Борис, я Tech Lead в компании, занимающейся игровым аутсорсингом и аутстаффингом. За почти пять лет я участвовал в проектах как для небольших инди-студий, так и для топ-5 игровых компаний мира, а еще я последние три года руковожу разработкой онлайн-нард.
Также веду блог в Telegram, где делюсь полезными советами для Unity-разработчиков.
Автор этой статьи не является DevOps-специалистом и не претендует на идеальное или универсальное решение. Материал носит обучающий и информационный характер
Часть 0. Создаем Unity проект и репозиторий
Чтобы не перегружать статью лишними деталями, я не буду подробно останавливаться на создании нового репозитория и Unity-проекта.
Для примера я подготовил тестовый проект на GitLab, но вы без проблем сможете использовать GitHub или любую другую систему контроля версий.

Часть 1. Настраиваем Unity cloud build сборку
Шаг 1. Заходим в Unity cloud build dashboard
Шаг 2. Создаем новый проект

Шаг 3. Переходим в Products => DevOps
Шаг 4. Раскрываем вкладку Build Automation и выбираем Configurations

Шаг 5. Если у вас нет лицензии то начните бесплатный триальный период

Шаг 6. Создайте новую конфигурацию

Шаг 7. Выберите вашу систему контроля версий

Шаг 8. Создайте персональный Access Token в той системе версий, где находится ваш репозиторий
Как создать Access token в gitlab сказано тут
Как создать Access token в github сказано тут
Можно еще спросить у chat GPT
Шаг 9. Добавьте ваш Access Token в соответствующее поле
Шаг 10. Если вы все сделали правильно, то у вас появится возможность выбрать ваш проект из выпадающего меню

Шаг 11. Выбираем проект и нажимаем на Save
Шаг 12. Переходим на вкладку конфигурации и создаем нашу первую конфигурацию

Шаг 13. Выбираем WebGL
Напомню, что в рамках данного туториала рассматриваем именно билд под WebGL.
Если у вас нет опыта в CI/CD, то я бы рекомендовал сначала проделать шаги и настроить сборку на WebGL, а потом настроить и остальные платформы самостоятельно

Шаг 14. Настраиваем Basic info

Target name — это название вашей конфигурации. Я рекомендую использовать название по следующему шаблону <Название проекта>-<Название ветки>-<Название платформы>, таким образом вы сможете довольно легко ориентироваться в сборках только по названию
Branch — ветка в системе контроля версий с которой будет происходить сборка
Project subfolder path — если ваш проект находится не в корневой директории, то тут нужно указать путь к вашему Unity проекту. В моем случае проекте находится в корне репозитория, поэтому это поле оставляем пустым
Unity version — можно выставить галочку Auto detect Unity version тогда Unity будет автоматически определять версию и создавать сборку с помощью нее.
Мы в проектах редко меняем версию Unity и при этом я пару раз сталкивался с тем, что эта галочка отрабатывала не правильно и билды из-за этого ломались. Поэтому я предпочитаю задавать версию вручную и быть уверенным, что никакой магии ломающей сборки не произойдет
Builder Operating System and Version — Версия операционной системы. Я рекомендую всегда использовать самый дешевый вариант на Windows платформе, если сборка идет под продукты Apple, тогда выбора нет и нужно использовать MacOS.
Xcode version — версия Xcode, если сборка под Apple
Unity Editor architecture — целевая архитектура процессора при сборках под Apple
Шаг 15. Настраиваем Builder configuration

Здесь вам нужно выбрать платформу, на которой будут выполняться сборки. Доступные варианты и их стоимость периодически меняются, поэтому я советую ориентироваться на самую дешевую по цене за минуту билда.
Мы как-то проводили эксперимент, сравнивая дорогие и бюджетные билд-агенты, и выяснили, что разница во времени сборки была незначительной, а вот в цене — весьма ощутимой.
Шаг 16. Настройка Scheduling

Auto-build: automatically start builds when your repository is updated — Если вы хотите, что бы любой коммит запускал билд, тогда стоит поставить ее в true
Auto-cancel: automatically cancel previously pending builds when any new build is triggered — Отменить прошлую сборку, если запустилась новая сборка
Configure a repeating build schedule — запускать сборки раз в определенное время
Тут у меня нет каких-то персональных рекомендаций и настройка зависит от вашего процесса поставки релизов. В рамках демо проекта мы оставим их все в False а запуск билда будем проводить вручную
Шаг 17. Сохраняем конфигурацию
Если вы все сделали правильно, то у вас должна появится такая строчка

Шаг 18. Запустить сборку

Шаг 19. Проверим, что наша сборка запустилась
Перейдем во вкладку build history и мы должны увидеть, что наш билд запустился

Ну а пока мы ждем сборку можно зайти на мой телеграмм канал и почитать очень полезные посты о разработке и прохождении интервью — будет полезно!
Шаг 20. Запускаем сборку

Читатель, спасибо, что дочитал до конца первую часть статьи про CI/CD в Unity!
В следующей части я расскажу как автоматизировать deploy WebGL через Team City.
А если вам понравилась эта статья, то поддержите меня лайком!
ссылка на оригинал статьи https://habr.com/ru/articles/891160/
Добавить комментарий