CI/CD-сборка и публикация в RuStore

CI/CD-сборка и публикация в RuStore

Вы можете разместить свой проект на GitVerse, автоматически собрать его и отправить на публикацию в RuStore с помощью CI/CD. В этом руководстве используется подготовленный шаблон и скрипт с применением RuStore API. Скрипт реализует базовую функциональность — получение токена, создание черновика, отправку новой версии приложения и удаление черновика.

⚠️

Первую версию приложения необходимо загрузить вручную (opens in a new tab) через RuStore Консоль. Если вы не используете API для манипуляций с приложением, а, например, делаете это через черновик, этот шаг опционален.

⚠️

Если у вас меняются настройки приложения, например, вы добавляете новые разрешения, то вам необходимо изменить соответствующие настройки в консоли RuStore. Иначе CI/CD будет давать ошибку несоответствия разрешений локальной версии и загруженной при отправке пакета приложения.

Настройка

Для настройки интеграции вам понадобится приватный ключ RuStore API и ID приватного ключа. Также для конфигурации скрипта нужны метаданные вашего приложения (className и др.). Информацию можно посмотреть в RuStore Консоль (opens in a new tab) > вкладка Компания или Разработчик > API RuStore. Если ключа нет, сгенерируйте ключевую пару (opens in a new tab).

Чтобы настроить интеграцию GitVerse с RuStore:

  1. Зарегистрируйтесь на GitVerse и создайте организацию. Организация — логический юнит разделения внутри GitVerse, удобный механизм для управления проектами.

  2. Создайте новый репозиторий. Активируйте CI/CD в настройках (в меню репозитория должна появиться вкладка CI/CD).

    Пример:

  3. Зарегистрируйте агент GitVerse CI/CD для сборки и отправки вашего приложения в RuStore. Его можно создать в Linux, WSL (Windows), либо любом облаке. Интеграция в данной инструкции тестировалась в WSL (Ubuntu) и виртуальной машине Cloud.ru.

  4. Объявите следующие переменные в разделе CI/CD настроек проекта, либо используйте переменные внутри кода, как это сделано в шаблоне:

    • PRIVATE_KEY — приватный ключ приложения из RuStore Консоль;
    • KEY_ID — идентификатор приватного ключа из RuStore Консоль.
  5. Шаблон проекта находится в evangelism/rustore | Gitverse (opens in a new tab). Обратите внимание, что этот шаблон предназначен для тестирования и вам необходимо избегать хранения открытых паролей, идентификаторов и прочей информации. В шаблоне используется генератор токенов от RuStore в .jar, вы можете использовать любой другой способ для его генерации.

  6. Чтобы воспользоваться тестовым проектом, выполните git clone https://gitverse.ru/evangelism/rustore, настройте раннеры и укажите собственные значения конфигурации.

Что дальше​

Перед отправкой в RuStore новой версии приложения заполните ее атрибуты в файле rustore.sh. Описание атрибутов есть в разделе Создание черновика версии (opens in a new tab).

После этого запустите сборку и загрузите версию приложения в RuStore.

Пример: