Платформа «Сократ». Технические средства хранения исходного текста и объектного кода и средства компиляции

Документ правообладателя — ООО «ОФИЭЛЬ». Описывает технические средства, используемые для хранения исходного текста и объектного кода Платформы «Сократ», а также средства компиляции исходного текста в объектный код. Все перечисленные средства принадлежат правообладателю или арендуются им у российских поставщиков и размещены на территории Российской Федерации.

1. Хранение исходного текста

Параметр Значение
Система контроля версий Git
Сервер GitLab (self-hosted) — собственная инсталляция правообладателя
Размещение сервер российского облачного провайдера, ЦОД на территории РФ (адрес площадки сообщается уполномоченным органам по запросу)
Состав репозитории серверной части, комплекта развёртывания и мобильного приложения
Доступ только сотрудники правообладателя, по персональным учётным записям; изменения вносятся через запросы на слияние с рецензированием

Депонированные в Роспатенте листинги исходного текста совпадают с состоянием репозиториев на дату подачи заявок (контрольные суммы SHA-256 хранятся у правообладателя).

2. Хранение объектного кода

Компонент Форма объектного кода Хранилище
Серверная часть Docker-образы (Linux x86-64) закрытый реестр образов правообладателя в облаке российского провайдера (ЦОД в РФ); образы версионируются тегами выпусков
Комплект развёртывания Ansible-плейбуки, шаблоны Docker Compose (интерпретируемые, не компилируются) репозиторий на сервере GitLab правообладателя
Мобильное приложение, Android подписанные пакеты APK / AAB сборочная станция правообладателя; публикация в RuStore
Мобильное приложение, iOS подписанные пакеты IPA сборочная станция правообладателя; публикация в App Store

3. Средства компиляции

Серверная часть

Python — интерпретируемый язык; «компиляция» в объектный код — сборка Docker-образа:

Средство Назначение
Docker Engine, Docker Buildx сборка образа по Dockerfile на сборочной станции правообладателя; готовый образ публикуется в закрытый реестр образов с тегом выпуска
GitLab CI конвейер автоматических проверок на каждое изменение: статический анализ исходного текста и тесты
Исполнители GitLab CI контейнерные исполнители на серверах правообладателя в РФ

Мобильное приложение

Средство Назначение
Flutter SDK, Dart SDK компиляция Dart-кода в машинный код (AOT) для Android и iOS
Android SDK, Android NDK, Gradle, JDK сборка и подписание APK/AAB; платформенный код Kotlin
Xcode, CocoaPods сборка и подписание IPA; платформенный код Swift
Сборочные станции оборудование правообладателя, размещённое на территории РФ

Комплект развёртывания

Ansible на рабочем месте администратора развёртывания; проверка синтаксиса и статический анализ плейбуков выполняются в GitLab CI.

4. Схема процесса

  1. Разработчик вносит изменение в ветку репозитория GitLab → запрос на слияние → рецензирование → автоматические проверки CI.
  2. Из состояния основной ветки, прошедшего проверки, на сборочной станции правообладателя собирается Docker-образ серверной части и публикуется в реестр образов правообладателя с тегом версии.
  3. Мобильное приложение собирается на сборочных станциях из помеченного тегом состояния репозитория, подписывается ключами правообладателя и публикуется в магазины приложений.
  4. Развёртывание/обновление инсталляций выполняется Ansible-плейбуками, которые загружают образы только из реестра правообладателя.

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