Unity Builder Bot

Вместо Хабра подумал запостить в это сообщество, которое давно читаю, думаю кому-то будет интересно.

Телеграм бот и расширение редактора для билда Unity проектов. Можно использовать по отдельности, но проектировалось чтобы работало вместе. Все исходники по ссылкам ниже.

Телеграм бот написан на Node.js и Telegraf.js. Может пулить апдейты, запускать билд юнити проекта, билдить Xcode проект (на маке), всё подписывать, загружать на сервер и скидывать ссылку. Билды для iOS тоже можно ставить по ссылке, там подключается манифест разработчика.

Telegraf.js поддерживает весь API телеграма, так что можно делать любого бота.

Основные функции:

  • добавить проект из Git репозитория
  • удалить проект
  • получить список всех проектов
  • перейти в нужную ветку
  • спулить апдейт
  • сбилдить Unity проект
  • сбилдить Xcode проект
  • скомпилировать, сделать архив, экспорт в IPA
  • сгенерировать HTML страницу с ссылками
  • загрузить все файлы на сервер через sshpass
  • получить логи
  • очистить логи и билды

Это все можно сделать с помощью телеграм, даже не запуская Unity. Каждый этап сборки логируется и уведомляется ботом. Выглядит это примерно так:

Команда /help
Команда /help
Команда /build
Команда /build

При запуске из расширения, команда для билда формируется автоматически, нужно только подтвердить.

Расширение редактора позволяет быстро переключаться между платформами, включать дефайны, запускать локальный и удаленный билд на боте, подставлять данные для Keystore, нужные зависимости для Huawei, добавлять локализации для iOS, также добавлять сторонние файлы в билд. Есть демка с набором файлов и примерной структурой.

Основные функции:

  • изменить платформу
  • установить defines
  • выбрать папку для билдов под каждую платформу
  • изменить версию, номер билда
  • подставить данные для Keystore
  • добавить локали и *.lproj файлы в Xcode проект
  • добавить фреймворки и дополнительные файлы в Xcode проект
  • добавить и применить google-services.json и agconnect-services.json
  • добавить дополнительные файлы в APK
  • пропатчить AndroidManifest.xml
  • пропатчить gradle файлы
  • добавить зависимости для Huawei билда
  • сбилдить Unity проект
Основное окно
Основное окно
Настройки
Настройки

Получилось как-то так, думаю кому-то будет полезно и интересно поковырять исходники.

Подписывайтесь на Telegram канал, там посты появляются чаще %)

21
5 комментариев

Запостил в мёртвый подсайт. А ты оптимист

4
Ответить

Наверное , Хабр почти такой же. Все хуже и хуже .

1
Ответить

:(

Ответить

Прикольно а зачем?

Ответить

Автоматизация. Можно билдить и тестить различные сборки из разных веток, разработчик для этого не нужен – отправляешь команду, получаешь апкшку или ипа файл для айос.
Для разраба: пока билдится и собирается, можно дальше работать.
Планирую добавить загрузку в аппстор, тогда вообще руками ничего делать не придется.

3
Ответить