В этом документе представлены рекомендации по использованию Firebase App Distribution, чтобы сделать рабочие процессы предварительного тестирования Android устойчивыми и воспроизводимыми в среде CI/CD. Решения включают Gradle и fastlane, но для еще большей гибкости мы также предлагаем решения, доступные через консоль Firebase, интерфейс командной строки Firebase и общедоступный API распространения приложений Firebase. Мы также описываем ограничения для выпуска и тестировщика, чтобы вы могли заранее спланировать оптимальную работу.
Если вы также используете платформы Apple, ознакомьтесь с рекомендациями по распространению приложений Apple среди тестировщиков QA с помощью CI/CD и fastlane .
Прежде чем вы начнете
Прежде чем применять рекомендации, описанные в этом документе, обязательно включите распространение приложений в консоли Firebase для каждого приложения . Если вы не включили распространение приложений, вы получите ошибку 404.
Чтобы включить распространение приложений, выполните следующие действия:
- Откройте страницу распространения приложений в консоли Firebase.
- Выберите приложение для Android.
- Нажмите «Начать» .
Учитывая, что наборы приложений для Android (AAB) становятся наиболее распространенным форматом пакетов Android, мы рекомендуем вам настроить возможность распространения пакетов AAB среди тестировщиков путем привязки к Google Play .
Автоматизируйте рабочий процесс предварительного тестирования с помощью конвейера CI/CD.
Если вы хотите автоматизировать создание и выпуск приложений для тестировщиков и используете CI/CD, мы рекомендуем вам использовать fastlane или Gradle . Другой вариант — использовать интерфейс командной строки Firebase , который позволяет получить доступ к широкому спектру продуктов Firebase.
Используйте полосу обгона
Интегрируйте распространение приложений в конвейер CI/CD с помощью fastlane — инструмента с открытым исходным кодом, который автоматизирует создание и выпуск приложений для iOS и Android. Автоматически создавая и распространяя свои последние выпуски среди тестировщиков, вы гарантируете, что у них всегда будет самая последняя тестовая версия вашего приложения.
Чтобы узнать, как интегрировать распространение приложений с fastlane, см. раздел Распространение приложений Android среди тестировщиков с помощью fastlane .
Используйте Gradle
Используйте Gradle для интеграции App Distribution в процесс сборки Android с помощью подключаемого модуля App Distribution Gradle. Плагин позволяет указать ваших тестировщиков и примечания к выпуску в файле build.gradle
вашего приложения, что позволяет настраивать дистрибутивы для различных типов сборки и вариантов вашего приложения.
Чтобы узнать, как интегрировать распространение приложений с Gradle, см. раздел Распространение приложений Android среди тестировщиков с помощью Gradle .
Используйте интерфейс командной строки Firebase
Используйте инструменты командной строки Firebase, которые предоставляет App Distribution, для программного распространения сборок среди тестировщиков. Вы можете указать тестировщиков и примечания к выпуску для сборки.
Распространите свою последнюю сборку Android, указав идентификатор приложения Firebase App ID, при необходимости добавив примечание к выпуску и файл, содержащий электронные письма тестировщиков:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
Чтобы узнать больше об использовании интерфейса командной строки Firebase для автоматизации сборок, см. статью Распространение приложений Android среди тестировщиков с помощью интерфейса командной строки Firebase .
Используйте учетные данные службы для аутентификации
Используйте подключаемый модуль Fastlane для распространения приложений, подключаемый модуль Gradle или интерфейс командной строки Firebase со служебными учетными записями. Сервисный аккаунт — это тип аккаунта Google, который представляет приложения (а не пользователей). Ваша система непрерывной интеграции может использовать учетные записи служб для запуска рабочих нагрузок распространения приложений. Дополнительные сведения см. в разделе Проверка подлинности с помощью учетной записи службы .
Если вы используете федерацию удостоверений рабочей нагрузки, вы можете создать и использовать файл конфигурации учетных данных вместо ключа учетной записи службы.
Помните об ограничениях выпуска
Распространение приложений поддерживает не более 1000 выпусков для каждого приложения. Это означает, что при превышении лимита выпусков App Distribution автоматически удаляет самые старые выпуски сверх лимита. Чтобы узнать, как управлять ограничениями выпусков, см. статью Как долго доступны выпуски приложений?
Добавьте один и тот же набор тестировщиков в несколько выпусков
Если вы хотите добавить большое количество тестировщиков в свои выпуски, используйте функцию управления массовым тестированием App Distribution.
Мы рекомендуем использовать группы для добавления одних и тех же тестировщиков в несколько выпусков. Группа действует как список контроля доступа; когда вы удаляете тестировщика из группы, он теряет доступ ко всем выпускам, распространяемым в этой группе. Дополнительные сведения см. в разделе Добавление и удаление тестировщиков из группы .
Если вам нужно управлять большим количеством тестировщиков, вы можете массово добавлять и удалять тестировщиков с помощью консоли Firebase. Чтобы автоматизировать добавление и удаление тестировщиков, используйте интерфейс командной строки Firebase , fastlane , Gradle или общедоступный API распространения приложений Firebase .
Помните об ограничениях тестера
Распространение приложений ограничивает количество тестировщиков, которых вы можете добавить в проект Firebase или группу распространения приложений. Когда вы превысите эти ограничения, вы не сможете распространять свое приложение среди дополнительных тестировщиков. Дополнительные сведения об ограничениях для тестировщиков см. в разделе Существуют ли ограничения на добавление тестировщиков в мое приложение?
Разрешить потенциальным тестировщикам самостоятельно регистрироваться для тестирования
Чтобы упростить распространение вашего приложения среди большего числа тестировщиков, мы рекомендуем использовать ссылки-приглашения. Ссылка-приглашение — это уникальный URL-адрес, который позволяет тестировщикам вводить свои адреса электронной почты, чтобы зарегистрироваться для тестирования приложения. Предоставление пользователям возможности добавлять себя в ваш список тестировщиков приложений — это простой способ увеличить вашу внутреннюю базу тестирования.
Варианты использования ссылок-приглашений включают в себя пробные программы компаний, организации с большими группами контроля качества и группы разработчиков, которые хотят, чтобы отдельные клиенты могли контролировать доступ тестировщиков.
Мы рекомендуем вам создать ссылку-приглашение для группы. Любой тестировщик, который регистрируется по ссылке-приглашению, автоматически добавляется в последующие выпуски.
Дополнительные сведения см. в разделах Создание ссылок-приглашений и Добавление и удаление тестировщиков из группы .
Убедитесь, что тестировщики тестируют интересующую вас версию
Когда новая версия загружается, ваши тестировщики получают уведомление по электронной почте. В дополнение к этому уведомлению вы можете использовать следующие функции — ссылки на выпуск и оповещения в приложении — чтобы убедиться, что ваши тестировщики тестируют конкретную версию приложения, которая вам нужна:
- Ссылки на выпуск: используйте эту функцию, если хотите поделиться определенной версией с тестировщиками. Чтобы узнать, как использовать ссылки на выпуски, см. раздел Распространение приложений Android среди тестировщиков с помощью консоли Firebase . Эти ссылки также доступны с нашими инструментами командной строки (CLI) Firebase , fastlane и Gradle для использования с вашими инструментами автоматизации сборки.
- Оповещения в приложении. Используйте эти оповещения, если хотите убедиться, что ваши тестировщики тестируют последнюю версию вашего приложения. Интегрировав Firebase App Distribution Android SDK, вы можете отображать оповещения прямо внутри приложения для своих тестировщиков, когда доступны новые сборки вашего приложения. Чтобы узнать, как добавлять оповещения в приложении, см. раздел Уведомление тестировщиков о новых сборках .
Автоматически отключать доступ для тестировщиков, покидающих компанию
Когда ваш поток внутреннего тестирования CI/CD запущен и работает, вы должны убедиться, что люди, покидающие компанию, больше не имеют доступа к вашим внутренним сборкам. Чтобы помочь вам управлять доступом тестировщиков к сборкам, App Distribution предоставляет следующие параметры:
- fastlane: используйте свой файл Fastfile или напрямую запускайте действия fastlane. Дополнительные сведения см. в разделе Распространение приложений Android среди тестировщиков с помощью Fastlane .
- Интерфейс командной строки Firebase: используйте действие
firebase appdistribution:testers:remove
. Дополнительные сведения см. в разделе Распространение приложений Android среди тестировщиков с помощью интерфейса командной строки Firebase . - Gradle: если вы используете Gradle для удаления тестировщиков, передайте
appDistributionRemoveTesters
с аргументами
и-- PROJECT_NUMBER
в файле-- EMAILSbuild.gradle
. Дополнительные сведения см. в разделе Распространение приложений Android среди тестировщиков с помощью Gradle . - Public Firebase App Distribution API : используйте конечную точку
testers.batchRemove
.