Рекомендации по распространению приложений Android среди тестировщиков с помощью CI/CD

В этом документе представлены рекомендации по использованию Firebase App Distribution, которые помогут сделать рабочие процессы тестирования предварительных выпусков Android устойчивыми и повторяемыми в среде непрерывной интеграции и непрерывной поставки. Среди них Gradle и fastlane, а также решения, доступные через консоль Firebase, CLI Firebase и общедоступный API Firebase App Distribution. Мы также расскажем об ограничениях на количество выпусков и тестировщиков, чтобы вы могли заранее спланировать работу.

Если вы также используете платформы Apple, ознакомьтесь с рекомендациями по распространению приложений Apple среди тестировщиков с помощью CI/CD и fastlane.

Подготовка

Прежде чем следовать рекомендациям из этого документа, включите App Distribution в консоли Firebase для каждого приложения. Если вы этого не сделаетеApp Distribution, то получите ошибку 404.

Чтобы включить App Distribution, выполните следующие действия:

  1. Откройте страницу App Distribution в консоли Firebase.
  2. Выберите приложение для Android.
  3. Нажмите Начать.

Поскольку наборы Android App Bundle (AAB) становятся самым распространенным форматом пакетов Android, мы рекомендуем настроить возможность распространения AAB среди тестировщиков, установив связь с Google Play.

Автоматизируйте рабочий процесс тестирования предварительных выпусков с помощью конвейера CI/CD

Если вы хотите автоматизировать сборку и выпуск приложений для тестировщиков и используете CI/CD, рекомендуем использовать fastlane или Gradle. Другой вариант – использовать интерфейс командной строки Firebase, который позволяет получить доступ к широкому спектру продуктов Firebase.

Использование fastlane

Интегрируйте App Distribution в конвейер непрерывной интеграции и доставки с помощью fastlane – инструмента с открытым исходным кодом, который автоматизирует сборку и выпуск приложений для iOS и Android. Автоматическая сборка и распространение последних выпусков среди тестировщиков гарантирует, что у них всегда будет самая актуальная тестовая версия вашего приложения.

Чтобы узнать, как интегрировать App Distribution с fastlane, ознакомьтесь со статьей Как распространять приложения Android среди тестировщиков с помощью fastlane.

Использовать Gradle

Используйте Gradle, чтобы интегрировать App Distribution в процесс сборки Android с помощью плагина App Distribution Gradle. Плагин позволяет указать тестировщиков и примечания к выпуску в файле build.gradle приложения, чтобы вы могли настроить распространение для разных типов сборок и вариантов приложения.

Чтобы узнать, как интегрировать App Distribution с Gradle, ознакомьтесь со статьей Как распространять приложения Android среди тестировщиков с помощью Gradle.

Как использовать CLI Firebase

Используйте инструменты командной строки Firebase, которые предоставляет App Distribution, чтобы распространять сборки среди тестировщиков программными средствами. Вы можете указать тестировщиков и примечания к выпуску для сборки.

Чтобы распространить последнюю сборку Android, укажите идентификатор приложения Firebase. При необходимости добавьте примечание к выпуску и файл с адресами электронной почты тестировщиков.

firebase appdistribution:distribute test.aab  \
    --app 1:1234567890:android:0a1b2c3d4e5f67890  \
    --release-notes "Bug fixes and improvements" --testers-file testers.txt

Чтобы узнать больше об использовании CLI Firebase для автоматизации сборок, ознакомьтесь со статьей Как распространять приложения Android среди тестировщиков с помощью CLI Firebase.

Использовать учетные данные сервиса для аутентификации

Используйте App Distribution плагин fastlane, плагин Gradle или CLI Firebase с сервисными аккаунтами. Сервисный аккаунт – это тип аккаунта Google, который представляет приложения (в отличие от пользователей). Система непрерывной интеграции может использовать сервисные аккаунты для выполнения рабочих нагрузок App Distribution. Подробнее о том, как выполнить аутентификацию с помощью сервисного аккаунта…

Если вы используете федерацию Workload Identity, то можете создать и использовать файл конфигурации учетных данных вместо ключа сервисного аккаунта.

Ограничения на количество релизов

App Distribution поддерживает не более 1000 выпусков на приложение. Если вы превысите этот лимит, App Distribution автоматически удалит самые старые выпуски. Подробнее о том, как долго доступны выпуски приложений…

Как добавить одну группу тестировщиков в несколько выпусков

Если вы хотите добавить в выпуски большое количество тестировщиков, используйте функцию массового управления тестировщиками в App Distribution.

Рекомендуем использовать группы, чтобы добавлять одних и тех же тестировщиков в разные выпуски. Группа действует как список управления доступом. Если вы удалите тестировщика из группы, он потеряет доступ ко всем выпускам, распространяемым в этой группе. Подробнее о том, как добавлять тестировщиков в группу и удалять их из нее…

Если у вас много тестировщиков, вы можете добавлять и удалять их массово в консоли Firebase. Чтобы автоматизировать добавление и удаление тестировщиков, используйте CLI Firebase, fastlane, Gradle или общедоступный API Firebase App Distribution.

Учитывайте ограничения на количество тестировщиков

App Distribution ограничивает количество тестировщиков, которых можно добавить в проект Firebase или группу App Distribution. Если вы превысите эти ограничения, то не сможете распространять приложение среди дополнительных тестировщиков. Подробнее об ограничениях на количество тестировщиков…

Разрешить потенциальным тестировщикам самостоятельно регистрироваться для тестирования

Чтобы упростить распространение приложения среди тестировщиков, рекомендуем использовать ссылки для приглашения. Ссылка для приглашения – это уникальный URL, по которому тестировщики могут указать свои адреса электронной почты и зарегистрироваться для тестирования приложения. Это удобный способ расширить базу тестировщиков.

Ссылки для приглашения могут использоваться в программах внутреннего тестирования, организациях с большими командами контроля качества и группах разработчиков, которые хотят, чтобы отдельные клиенты могли управлять доступом тестировщиков.

Мы рекомендуем создать ссылку для приглашения в группу. Все тестировщики, которые зарегистрируются по ссылке для приглашения, будут автоматически добавлены в последующие выпуски.

Подробнее о том, как создавать ссылки для приглашения и как добавлять тестировщиков в группу и удалять их из нее…

Убедитесь, что тестировщики проверяют нужную версию

Когда вы загрузите новую версию, тестировщики получат уведомление по электронной почте. Чтобы тестировщики точно знали, какую версию приложения нужно проверить, вы можете использовать ссылки на выпуск и оповещения в приложении.

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

Когда процесс внутреннего тестирования CI/CD будет запущен, убедитесь, что у сотрудников, которые увольняются из компании, больше нет доступа к внутренним сборкам. Чтобы вам было проще управлять доступом тестировщиков к сборкам, в App Distribution предусмотрены следующие возможности: