Repository navigation
Configuration
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)
└── Постоянные учетные данные на рабочей машине разработчика
Размещается в корне рабочего каталога проекта:
{
"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, приватные ключи сервисных аккаунтов) в систему контроля версий. Секреты должны передаваться исключительно через защищенные переменные окружения.
Хранит постоянные идентификаторы разработчика на локальном компьютере:
{
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"clientId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"clientSecret": "ваш_секрет_azure_ad",
"sellerId": "94042650"
}Этот файл создаётся или обновляется автоматически при выполнении интерактивной команды:
octopublish mstore configure-
Начало работы
-
Store as Code
-
Модули магазинов
-
CI/CD и конфигурация
-
Внутреннее устройство