> For the complete documentation index, see [llms.txt](https://lifeexe-art.gitbook.io/unreal-automation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lifeexe-art.gitbook.io/unreal-automation/master.md).

# Обзор автоматизации

## Зачем автоматизировать процесс разработки?

Все повторяющие действия необходимо автоматизировать. Бессмысленно тратить время на то, что может выполняться автоматически.

Данные вики специализированны под разработку на **Unreal Engine.**

В общем случае автоматизация затрагивает любую разработку, независимо от платформы, языка программирования, фреймворка и размера команды разработчиков.

#### Основные п**реимущества**:

* экономия времени и как следствие человеко-часов
* уверенность в своем коде
* наличие актуального билда каждый день (daily / night build)
* быстрое обнаружение ошибок и моментальный фикс, а не фикс при релизе
* автоматическое оповещение всех членов команды о состоянии проекта
* независимость от пользовательского интерфейса программы (для UE5 данный гайд особо не поменяется)
* отделение процесса разработки от сборки (вы не блокируете собственную работу, когда идет сборка)
* сосредоточенность именно на написании кода, а не на инфраструктуре
* наличие статистики: время сборки, тестовое покрытие и т.д.

#### Модельная утрированная ситуация:&#x20;

*Вы разрабатываете кроссплатформенный, многопользовательский проект под Win, Linux и допустим IOS. И также у вас собственная, кастомная версия движка. Два раза в день вам необходимо иметь стабильную сборку под каждую платформу, что в общем случае означает:*

* компиляция исходников UE
* компиляция под все платформы клиентов
* компиляция сервера
* запуск тестов
* деплой (загрузка) сервера в облако
* возможно деплой на подключенные IOS девайсы (последние три модели iPhone и iPad, например)
* оповещение всех мануальных тестеров и разработчиков, что билд готов (slack, почта) и отправка ссылок на все созданные билды

Теперь представьте, что это все делает вручную человек через пользовательский интерфейс и сколько это займет времени. А если он ошибется в "скрипте" сборки?

## Подробнее в видео уроке

{% embed url="<https://youtu.be/25Ru2h4G0aQ>" %}
