Skip to content

Configuration

Роман Зопиров edited this page Oct 29, 2026 · 2 revisions

Конфигурация и профили

OctoPublisher использует каскадную стратегию разрешения параметров конфигурации. Настройки можно передавать через флаги командной строки, переменные окружения, файл проекта или глобальный профиль пользователя.


Приоритет применения параметров

При поиске значений (tenantId, clientId, appId, packageName и др.) утилита опрашивает источники в строгом порядке:

[1] Флаги командной строки (--client-id, --app-id, --dir)
      └── Высший приоритет, переопределяет любые другие источники
[2] Переменные окружения (STORE_CLIENT_ID, STORE_APP_ID, PLAY_CONFIG_JSON)
      └── Рекомендуемый способ для секретов в пайплайнах CI/CD
[3] Локальный файл конфигурации проекта (./.octopublish.json)
      └── Настройки по умолчанию для конкретного репозитория
[4] Глобальный файл профиля разработчика (~/.octo/mstore.json)
      └── Постоянные учетные данные на рабочей машине разработчика

Форматы конфигурационных файлов

Локальный файл конфигурации (.octopublish.json)

Размещается в корне рабочего каталога проекта:

{
  "mstore": {
    "appId": "9NZXP5WR803J",
    "sellerId": "94042650",
    "notesDir": "packaging/whatsnew",
    "descDir": "packaging/store/windows"
  },
  "playstore": {
    "packageName": "one.obxodka.app",
    "track": "internal",
    "notesDir": "packaging/whatsnew",
    "descDir": "packaging/store/android"
  }
}

Warning

Безопасность: Никогда не коммитьте секретные ключи (clientSecret, приватные ключи сервисных аккаунтов) в систему контроля версий. Секреты должны передаваться исключительно через защищенные переменные окружения.

Глобальный файл профиля (~/.octo/mstore.json)

Хранит постоянные идентификаторы разработчика на локальном компьютере:

{
  "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "clientId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
  "clientSecret": "ваш_секрет_azure_ad",
  "sellerId": "94042650"
}

Этот файл создаётся или обновляется автоматически при выполнении интерактивной команды:

octopublish mstore configure

Clone this wiki locally