Добавление файлов на хостинг из автоматических сборок
Если вы собираете мини-приложение автоматически, добавьте загрузку файлов на хостинг VK как шаг сборки. Так вы сможете быстрее публиковать новые версии и исключите ручные действия.
Для автоматической загрузки используйте библиотеку vk-miniapps-deploy.
Шаг 1. Установите библиотеку и подготовьте ключ доступа
- 1.
На компьютере, с которого будет происходить размещение файлов, выполните следующие действия:
- •
Установите библиотеку vk-miniapps-deploy.
- •
Подготовьте файлы мини-приложения и конфигурационные файлы.
- •
Разместите файлы мини-приложения на хостинге в ручном режиме.
Подробнее — в разделе Хостинг статики для мини-приложений.
- •
- 2.
Перед размещением файлов библиотека сформирует специальный ключ доступа
MINI_APPS_ACCESS_TOKENи отобразит его в окне командной строки.Этот ключ необходим для автоматической выкладки файлов. Скопируйте его.
Ключ можно получить и другими способами.
- 3.
Создайте переменную окружения
MINI_APPS_ACCESS_TOKENи присвойте ей значение ключа. Шаги создания переменной зависят от операционной системы, на которой вы работаете.Например:
- •
В Windows переменную можно установить командой:
Командная строкаset MINI_APPS_ACCESS_TOKEN=<значение-ключа> - •
В MacOS и Linux переменную можно указать как часть команды запуска:
Командная строка$ env MINI_APPS_ACCESS_TOKEN=<значение-ключа> yarn deploy
- •
Где ещё можно найти ключ
Способ 1
Вы можете найти ключ в файле на жёстком диске:
- •
На Windows:
C:\Users\.config\configstore\@vkontakte\vk-miniapps-deploy.json - •
На macOS и Linux:
~/.config/configstore/@vkontakte/vk-miniapps-deploy.json
Способ 2
Скопируйте ключ из настроек вашего мини-приложения: раздел Разработка → Ключи доступа, значение Сервисный ключ.
Шаг 2. Настройте параметры выкладки
При выкладке файлов на хостинг библиотека запрашивает у пользователя информацию в командной строке. Такое поведение не подходит для автоматических сборок, так как они не предполагают участие в них пользователя.
Чтобы отключить вопросы, добавьте в файл vk-hosting-config.json параметр "noprompt": 1.
{
"static_path": "build",
"app_id": 123456,
"endpoints": {
"mobile": "index_DG.html",
"web": "index.html",
"mvk": "index.html"
},
"noprompt": 1
}После этого библиотека будет использовать ответы по умолчанию. При ручной выкладке эти варианты отмечены в командной строке заглавными буквами.
Ответы по умолчанию
Если значения ответов по умолчанию вам не подходят, вы можете скорректировать параметры выкладки с помощью переменных окружения.
Шаг 3. Подготовьте сборку и файлы
- 1.
Подготовьте скрипт сборки: он должен копировать итоговые файлы в одну папку, например
build. - 2.
Убедитесь, что в файле vk-hosting-config.json поле
static_pathуказывает на эту папку.
Шаг 4. Добавьте команду запуска
Чтобы выложить файлы на хостинг, добавьте в скрипт автоматической сборки строку:
npm run deployАвтоматическая сборка готова к размещению файлов на хостинге.
Переменные окружения
Чтобы настраивать параметры выкладки для автоматических сборок, используйте переменные окружения.
Назначьте значения переменным до запуска команды на выкладку. На Windows и macOS эта задача решается по-разному. Обратитесь к документации вашей операционной системы.
Переменная | Описание |
|---|---|
MINI_APPS_APP_ID | Идентификатор вашего мини-приложения. Используйте эту переменную как аналог значения app_id, которое находится в конфигурационном файле vk-hosting-config.json. |
MINI_APPS_ENVIRONMENT | Определяет, какие URL в настройках мини-приложения обновлять при размещении файлов. Возможные значения:
• production — обновить production URL (адреса, по которым мини-приложение запускают пользователи) и URL для разработки.
• dev — обновить только URL для разработки.
При обновлении production URL библиотека запрашивает код подтверждения. |
HTTP_PROXY, HTTPS_PROXY | Добавляет возможность выполнять все API-запросы через заданный прокси-сервер. |
Особенности работы
При обновлении production-адресов библиотека отправляет код подтверждения главному администратору мини-приложения и запрашивает его ввод. URL изменятся только после ввода правильного кода.
При обновлении только dev-адресов подтверждение не требуется.
Материалы по теме
- •
- •