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

В этом документе рассказывается о том, как использовать Firebase App Distribution, чтобы сделать тестирование предварительных версий Android устойчивым и повторяемым в среде CI/CD. Мы предлагаем такие решения, как Gradle и fastlane, а также решения, доступные через консоль Firebase, интерфейс командной строки 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 в конвейер 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

Используйте инструменты командной строки 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

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

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

Используйте App Distribution плагин fastlane, плагин Gradle или интерфейс командной строки Firebase с сервисными аккаунтами. Сервисный аккаунт – это тип аккаунта Google, который представляет приложения (а не пользователей). Ваша система CI может использовать сервисные аккаунты для выполнения рабочих нагрузок 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… Эти ссылки также доступны в инструментах командной строки Firebase, fastlane и Gradle, которые можно использовать с инструментами автоматизации сборки.
  • Оповещения в приложении. Используйте их, если хотите, чтобы тестировщики проверяли последнюю версию приложения. Интегрировав Firebase App Distribution Android SDK, вы сможете показывать тестировщикам оповещения прямо в приложении, когда будут доступны новые сборки. Подробнее о том, как настроить уведомления о новых сборках…

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

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