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:
Зарегистрируйтесь на GitVerse и создайте организацию. Организация — логический юнит разделения внутри GitVerse, удобный механизм для управления проектами.
Создайте новый репозиторий. Активируйте CI/CD в настройках (в меню репозитория должна появиться вкладка CI/CD).
Пример:
Зарегистрируйте агент GitVerse CI/CD для сборки и отправки вашего приложения в RuStore. Его можно создать в Linux, WSL (Windows), либо любом облаке. Интеграция в данной инструкции тестировалась в WSL (Ubuntu) и виртуальной машине Cloud.ru.
Объявите следующие переменные в разделе CI/CD настроек проекта, либо используйте переменные внутри кода, как это сделано в шаблоне:
- PRIVATE_KEY — приватный ключ приложения из RuStore Консоль;
- KEY_ID — идентификатор приватного ключа из RuStore Консоль.
Шаблон проекта находится в evangelism/rustore | Gitverse (opens in a new tab). Обратите внимание, что этот шаблон предназначен для тестирования и вам необходимо избегать хранения открытых паролей, идентификаторов и прочей информации. В шаблоне используется генератор токенов от RuStore в .jar, вы можете использовать любой другой способ для его генерации.
Чтобы воспользоваться тестовым проектом, выполните
git clone https://gitverse.ru/evangelism/rustore
, настройте раннеры и укажите собственные значения конфигурации.
Что дальше
Перед отправкой в RuStore новой версии приложения заполните ее атрибуты в файле rustore.sh. Описание атрибутов есть в разделе Создание черновика версии (opens in a new tab).
После этого запустите сборку и загрузите версию приложения в RuStore.