Skip to content
Роман Зопиров edited this page Oct 29, 2026 · 3 revisions

База знаний OctoPublisher Wiki

OctoPublisher (octopublish) — универсальный высокопроизводительный движок автоматизации публикации приложений в магазины Google Play Store и Microsoft Store с встроенной поддержкой парадигмы Store as Code.

Движок разработан на платформе .NET 10 с учётом строгих требований к надежности пайплайнов непрерывной интеграции (CI/CD), нулевых внешних нативных зависимостей и удобного русскоязычного интерфейса в стандарте Microsoft Fluent 2.


Ключевые возможности v1.1.0

  • Парадигма Store as Code:
    • Полное версионирование текстовых метаданных, иконок, баннеров и скриншотов в репозитории Git (packaging/).
    • Быстрая инициализация структуры (octopublish init) со встроенной генерацией растровых PNG без сторонних библиотек.
    • Обратный импорт (octopublish pull) — выгрузка реальных названий, описаний, иконок и скриншотов напрямую из опубликованных приложений магазинов.
    • Автоматическое добавление новых локалей (octopublish add) с распознаванием коротких кодов (ru, en, fr, de, es, zh и др.).
    • Синхронизация описаний и графики со сторами напрямую (octopublish sync) без пересборки бинарных файлов.
  • 5-уровневый предполётный линтер (octopublish test):
    • Проверка на незаполненные заглушки шаблонов ([ШАБЛОН], example.com).
    • Проверка наличия и непустоты обязательных файлов (title.txt, full_description.txt, icon.png).
    • Контроль жестких лимитов длины символов (Google Play $\le 30$ знаков для названия, Microsoft Store $\le 256$ знаков).
    • Валидация точной геометрии изображений по заголовкам PNG/JPEG.
    • Проверка валидности URL политики конфиденциальности.
  • Модуль Microsoft Store (mstore):
    • Прямая интеграция с Partner Center Dev Center Ingestion REST API v1.0 и Display Catalog API.
    • Автоматическая блочная загрузка пакетов MSIX в Azure Blob с вычислением SAS токенов.
    • Автоматическая упаковка .msix в контейнеры .zip, требуемые Partner Center.
    • Механизм Safe Skip при обнаружении активной сертификации (защита от ошибки HTTP 409 Conflict).
    • Очистка зависших черновиков (delete-draft).
  • Модуль Google Play Store (playstore):
    • Публикация AAB бандлов и APK через Google Play Developer API v3.
    • Назначение релизов по трекам: internal, alpha, beta, production.
    • Защита Safe-Merge: предотвращает случайное стирание названий приложений при обновлении листингов.
  • Инженерная эстетика Fluent 2:
    • Информативные ANSI-теги ([ИНФО], [УСПЕХ], [ВНИМАНИЕ], [ОШИБКА], [ШАГ]) без эмодзи.
    • Отображение интерактивных прогресс-баров и расчет скорости загрузки.
    • 114 автоматизированных модульных тестов с 100% прохождением.

Быстрый старт

1. Установка инструмента

# Установка как глобальный инструмент .NET CLI
dotnet tool install -g OctoPublisher

# Проверка версии
octopublish --version

2. Инициализация ассетов в проекте

# Создание структуры каталогов packaging/ (русский язык по умолчанию)
octopublish init all --dir packaging

# Проверка статуса готовности файлов и графики
octopublish list --dir packaging

# Предполётная проверка линтером
octopublish test --dir packaging

Разделы документации Wiki

Clone this wiki locally