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

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

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

Прежде чем начать

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

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

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

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

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

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

Использовать скоростную полосу

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

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

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

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

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

Используйте Firebase CLI

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

Распространите последнюю сборку Android, указав идентификатор приложения Firebase, при желании добавив примечание к выпуску и файл, содержащий адреса электронной почты тестировщиков:

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

Дополнительную информацию об использовании Firebase CLI для автоматизации сборок см. в статье Распространение приложений Android среди тестировщиков с помощью Firebase CLI .

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

Используйте плагин App Distribution Fastlane , плагин Gradle или Firebase CLI с учётными записями служб. Учётная запись службы — это тип учётной записи Google, представляющей приложения (в отличие от пользователей). Ваша система непрерывной интеграции может использовать учётные записи служб для запуска рабочих нагрузок App Distribution . Подробнее см. в разделе «Аутентификация с учётной записью службы» .

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

Помните об ограничениях на выпуск

App Distribution поддерживает не более 1000 релизов для одного приложения. Это означает, что при превышении лимита релизов App Distribution автоматически удаляет самые старые релизы, превышающие лимит. Чтобы узнать, как управлять ограничениями релизов, см . раздел «Как долго доступны релизы приложений?».

Добавьте один и тот же набор тестировщиков в несколько релизов

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

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

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

Помните об ограничениях тестировщиков

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

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

Чтобы упростить распространение вашего приложения среди большего числа тестировщиков, мы рекомендуем использовать пригласительные ссылки. Пригласительная ссылка — это уникальный URL-адрес, позволяющий тестировщикам ввести свой адрес электронной почты для регистрации на тестирование приложения. Возможность добавлять себя в список тестировщиков — это простой способ расширить внутреннюю базу тестировщиков.

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

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

Дополнительную информацию см. в разделах Создание ссылок-приглашений и Добавление и удаление тестировщиков из группы .

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

При загрузке новой версии ваши тестировщики получают уведомление по электронной почте. В дополнение к этому уведомлению вы можете использовать следующие функции — ссылки на релизы и оповещения в приложении — чтобы убедиться, что ваши тестировщики тестируют именно ту версию приложения, которая вам нужна:

  • Ссылки на релиз: используйте эту функцию, если хотите поделиться определённой версией с тестировщиками. Чтобы узнать, как использовать ссылки на релиз, см. статью «Распространение приложений Android среди тестировщиков с помощью консоли Firebase . Эти ссылки также доступны в наших инструментах командной строки (CLI) Firebase , fastlane и Gradle для использования с вашими инструментами автоматизации сборки.
  • Встроенные оповещения: используйте эти оповещения, чтобы убедиться, что ваши тестировщики тестируют последнюю версию вашего приложения. Интеграция Firebase App Distribution Android SDK позволит вам отображать оповещения непосредственно в приложении для тестировщиков о выходе новых сборок. Чтобы узнать, как добавить встроенные оповещения, см. статью Уведомление тестировщиков о новых сборках .

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

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