Добавление файлов на хостинг из автоматических сборок

Если вы собираете мини-приложение автоматически, добавьте загрузку файлов на хостинг VK как шаг сборки. Так вы сможете быстрее публиковать новые версии и исключите ручные действия.

Для автоматической загрузки используйте библиотеку vk-miniapps-deploy.

Шаг 1. Установите библиотеку и подготовьте ключ доступа

  1. 1.

    На компьютере, с которого будет происходить размещение файлов, выполните следующие действия:

    • Установите библиотеку vk-miniapps-deploy.

    • Подготовьте файлы мини-приложения и конфигурационные файлы.

    • Разместите файлы мини-приложения на хостинге в ручном режиме.

    Подробнее — в разделе Хостинг статики для мини-приложений.

  2. 2.

    Перед размещением файлов библиотека сформирует специальный ключ доступа MINI_APPS_ACCESS_TOKEN и отобразит его в окне командной строки.

    Этот ключ необходим для автоматической выкладки файлов. Скопируйте его.

    Ключ можно получить и другими способами.

  3. 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.

vk-hosting-config.json
{ "static_path": "build", "app_id": 123456, "endpoints": { "mobile": "index_DG.html", "web": "index.html", "mvk": "index.html" }, "noprompt": 1 }

После этого библиотека будет использовать ответы по умолчанию. При ручной выкладке эти варианты отмечены в командной строке заглавными буквами.

Ответы по умолчаниюОтветы по умолчанию

Если значения ответов по умолчанию вам не подходят, вы можете скорректировать параметры выкладки с помощью переменных окружения.

Шаг 3. Подготовьте сборку и файлы

  1. 1.

    Подготовьте скрипт сборки: он должен копировать итоговые файлы в одну папку, например build.

  2. 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-адресов подтверждение не требуется.

Материалы по теме