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

This document introduces best practices for using Firebase App Distribution and fastlane to make your Apple platform pre-release testing workflows sustainable and repeatable in a CI/CD environment. While this document focuses on fastlane, we also describe solutions available through the Firebase console, the Firebase CLI, and the public Firebase App Distribution API to give you more flexibility. We also describe release and tester limits so you can plan in advance for an optimal experience.

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

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

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

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

  1. Откройте страницу App Distribution в консоли Firebase .

  2. Выберите ваше приложение для iOS.

  3. Нажмите « Начать» .

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

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

Воспользуйтесь скоростной полосой.

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

Чтобы узнать, как интегрировать App Distribution с fastlane, см. раздел «Распространение iOS-приложений среди тестировщиков с помощью fastlane» . Также см. практическое руководство , которое пошагово описывает процесс интеграции с fastlane.

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

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

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

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

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

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

Use the App Distribution fastlane plugin or the Firebase CLI with service accounts, which take advantage of Application Default Credentials and help you manage your CI. A service account is a type of Google Account that represents applications as opposed to users. Your CI system can use service accounts to run your App Distribution workloads. To learn more, see Authenticate with a service account .

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

Учитывайте ограничения на выпуск.

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

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

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

Мы рекомендуем использовать группы для добавления одних и тех же тестировщиков к нескольким релизам. Группа действует как список контроля доступа; при удалении тестировщика из группы он теряет доступ ко всем релизам, распространяемым в рамках этой группы. Для получения дополнительной информации см. раздел «Добавление и удаление тестировщиков из группы» .

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

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

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

Управляйте и автоматически добавляйте новые устройства для тестирования iOS.

Чтобы помочь вам зарегистрировать дополнительные устройства для тестирования iOS, App Distribution позволяет управлять устройствами для тестирования iOS на портале разработчиков Apple, уведомляя вас о новых устройствах iOS по электронной почте или в CSV-файлах. Подробнее см. в разделе «Импорт тестировщиков из CSV-файлов» . Вы также можете программно экспортировать новые устройства с помощью fastlane .

Чтобы узнать, как настроить действие fastlane, которое автоматически загружает UDID, добавляет их в консоль разработчика Apple, а затем пересобирает приложение и распространяет его, см. раздел «Ускорьте распространение предварительных версий iOS с помощью App Distribution и fastlane» .

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

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

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

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

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

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

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

  • Ссылки на релизы: Используйте эту функцию, если хотите поделиться определенной версией с тестировщиками. Чтобы узнать, как использовать ссылки на релизы, см. раздел «Распространение iOS-приложений среди тестировщиков с помощью консоли Firebase . Эти ссылки также доступны в наших инструментах командной строки (CLI) Firebase и fastlane для использования с вашими инструментами автоматизации сборки.

  • Встроенные оповещения: используйте эти оповещения, чтобы убедиться, что ваши тестировщики тестируют последнюю версию вашего приложения. Интегрировав Firebase App Distribution iOS SDK, вы можете отображать оповещения непосредственно в приложении для ваших тестировщиков, когда становятся доступны новые сборки вашего приложения. Чтобы узнать, как добавить встроенные оповещения, см. раздел «Уведомление тестировщиков о новых сборках» .

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

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