Skip to content

Latest commit

 

History

History
66 lines (50 loc) · 3.36 KB

File metadata and controls

66 lines (50 loc) · 3.36 KB

Сборщик Android-приложения

🇬🇧 English 🇷🇺 Russian

О репозитории

  • Это компонент, который объединяет мобильное приложение и веб-сайт.
  • Для работы используется Gradle, который в свою очередь запускает еще один Gradle внутри себя (предполагается выполнение сборки внутри Docker)
  • Во время компиляции сборщик заменяет стандартные брендинг и конечные точки на те, которые указаны в ENV
  • Консольный поток дублируется в LOG-файле с помощью Log4j

Структура файлов

В папке /builder/ приложение имеет только одну открытую папку /builder/workdir для Docker, со следующей структурой:

/builder/workdir/
├── latest.log         -   Log-файл (общий для всех запусков)
├── state.json         -   Файл состояния приложения (с информацией о последней сборке)
├── temp
   │── manifest.json  -   Временный файл манифеста релиза перед копированием
   └── application    -   Папка с проектом мобильного приложения Android
       └── ...
└── output
    ├── release.json   -   Информация о выходном артефакте
    └── ShTP.apk       -   Собранный файл APK

Файлы latest.log, state.json, папка temp не важны для других компонентов, но их нужно сохранить в файловой системе хранения. Однако директория output нужна для передачи файла APK на backend.

Манифест релиза release.json

{
  "change_log": {                        // Формат MD
    "en": "**Perfect** _update_",
    "ru": "~~Отличное~~ обновление"
  },
  "release_date": 1694864027785,         // Время в миллисекундах в формате Epoch
  "version_name": "0.3.7",               // Человеко-читаемая версия
  "version_tag": 45                      // Числовой номер версии
}

Состояние приложения state.json

Этот файл содержит только информацию о предыдущей сборке (сейчас это идентификатор последнего коммита)

{
  "checked_version": "e7ff3af6a430b49160cc0ba6f2a5631d7f192600"
}

Переменные среды

VOLUME_FOLDER (По умолчанию: workdir/state.json)

OUT_RELEASE_JSON (По умолчанию: workdir/output/release.json)

OUT_RELEASE_APK (По умолчанию: workdir/output/ShTP.apk)

TEMP_RELEASE_JSON (По умолчанию: workdir/temp/manifest.json)

TEMP_RELEASE_APP (По умолчанию: workdir/temp/application)

WAIT_MINUTES (По умолчанию: 5)

GIT_REPO (По умолчанию: https://github.com/ITClassDev/Mobile)