В этом документе представлены рекомендации по использованию Firebase App Distribution и Fastlane для обеспечения устойчивости и повторяемости рабочих процессов предварительного тестирования платформы Apple в среде непрерывной интеграции и непрерывной доставки (CI/CD). Хотя в этом документе основное внимание уделяется Fastlane, мы также описываем решения, доступные через консоль Firebase , интерфейс командной строки Firebase и общедоступный API Firebase App Distribution , которые обеспечивают большую гибкость. Мы также описываем ограничения по выпуску и количеству тестировщиков, чтобы вы могли заранее спланировать оптимальный процесс.
Если вы также используете Android, ознакомьтесь со статьей Рекомендации по распространению приложений Android среди тестировщиков QA с использованием CI/CD .
Прежде чем начать
Прежде чем применять рекомендации, изложенные в этом документе, обязательно включите App Distribution в консоли Firebase для каждого приложения . Если вы не включили App Distribution , вы получите ошибку 404.
Чтобы включить App Distribution , выполните следующие действия:
Откройте страницу App Distribution в консоли Firebase .
Выберите приложение для iOS.
Нажмите «Начать» .
Автоматизируйте процесс предварительного тестирования с помощью CI/CD
Если вы хотите автоматизировать сборку и выпуск приложений для тестировщиков и используете CI/CD, рекомендуем использовать fastlane . Другой вариант — использовать Firebase CLI, который обеспечивает доступ к широкому спектру продуктов Firebase.
Использовать скоростную полосу
Интегрируйте App Distribution в свой конвейер непрерывной интеграции и разработки (CI/CD) с помощью Fastlane — инструмента с открытым исходным кодом, который автоматизирует сборку и выпуск приложений для iOS и Android. Автоматически собирая и распространяя последние версии среди тестировщиков, вы гарантируете им доступ к самой актуальной тестовой версии вашего приложения.
Чтобы узнать, как интегрировать App Distribution с Fastlane, см. статью «Распространение приложений iOS среди тестировщиков с помощью Fastlane» . Также ознакомьтесь с практическим руководством , которое покажет вам процесс интеграции с Fastlane.
Используйте Firebase CLI
Используйте инструменты Firebase CLI, предоставляемые 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 .
Используйте учетные данные службы для аутентификации
Используйте плагин App Distribution Fastlane или Firebase CLI с учётными записями служб, которые используют учётные данные приложения по умолчанию и помогают управлять вашей CI. Учётная запись службы — это тип учётной записи Google, которая представляет приложения, а не пользователей. Ваша система CI может использовать учётные записи служб для запуска рабочих нагрузок App Distribution . Подробнее см. в разделе «Аутентификация с учётной записью службы» .
Если вы используете федерацию удостоверений рабочей нагрузки, вы можете создать и использовать файл конфигурации учетных данных вместо ключа учетной записи службы.
Помните об ограничениях на выпуск
App Distribution поддерживает не более 1000 релизов для одного приложения. Это означает, что при превышении лимита релизов App Distribution автоматически удаляет самые старые релизы, превышающие лимит. Чтобы узнать, как управлять ограничениями релизов, см . раздел «Как долго доступны релизы приложений?».
Добавьте один и тот же набор тестировщиков в несколько релизов
Если вы хотите добавить большое количество тестировщиков к своим релизам, используйте функцию управления массовым тестированием App Distribution .
Мы рекомендуем использовать группы для добавления одних и тех же тестировщиков в несколько релизов. Группа действует как список управления доступом: при удалении тестировщика из группы он теряет доступ ко всем релизам, распространяемым в этой группе. Подробнее см. в разделе Добавление и удаление тестировщиков из группы .
Если вам нужно управлять большим количеством тестировщиков, вы можете массово добавлять и удалять их с помощью консоли Firebase . Для автоматизации добавления и удаления тестировщиков используйте Firebase CLI , fastlane или общедоступный Firebase App Distribution API .
Помните об ограничениях тестировщиков
App Distribution ограничивает количество тестировщиков, которых вы можете добавить в проект Firebase или группу App Distribution . При превышении этого лимита вы не сможете распространять приложение среди других тестировщиков. Подробнее об ограничениях на количество тестировщиков см. в статье «Есть ли ограничения на добавление тестировщиков в моё приложение?».
Управление и автоматическое добавление новых устройств для тестирования iOS
Чтобы помочь вам зарегистрировать дополнительные устройства для тестирования iOS, App Distribution помогает вам управлять устройствами для тестирования iOS на портале разработчиков Apple, уведомляя вас о новых устройствах по электронной почте или с помощью CSV-файлов. Подробнее см. в разделе Импорт тестировщиков из CSV-файлов . Вы также можете программно экспортировать новые устройства с помощью Fastlane .
Чтобы узнать, как настроить действие Fastlane, которое автоматически извлекает UDID, добавляет их в консоль разработчика Apple, а затем перестраивает приложение и распространяет его, см. статью Ускоренное распространение предварительных сборок iOS с помощью App Distribution и Fastlane .
Предоставить потенциальным тестировщикам возможность самостоятельно регистрироваться для тестирования
Чтобы упростить распространение вашего приложения среди большего числа тестировщиков, мы рекомендуем использовать пригласительные ссылки. Пригласительная ссылка — это уникальный URL-адрес, позволяющий тестировщикам ввести свой адрес электронной почты для регистрации на тестирование приложения. Возможность добавлять себя в список тестировщиков — это простой способ расширить внутреннюю базу тестировщиков.
Примерами использования ссылок-приглашений могут служить корпоративные программы тестирования, организации с большими командами по контролю качества и группы разработчиков, которым необходимо, чтобы отдельные клиенты могли контролировать доступ тестировщиков.
Мы рекомендуем создать пригласительную ссылку для группы. Любой тестировщик, зарегистрировавшийся по этой ссылке, автоматически добавляется в последующие выпуски.
Дополнительную информацию см. в разделах Создание ссылок-приглашений и Добавление и удаление тестировщиков из группы .
Убедитесь, что тестировщики тестируют именно ту версию, которая вам нужна
При загрузке новой версии ваши тестировщики получают уведомление по электронной почте. В дополнение к этому уведомлению вы можете использовать следующие функции — ссылки на релизы и оповещения в приложении — чтобы убедиться, что ваши тестировщики тестируют именно ту версию приложения, которая вам нужна:
Ссылки на релиз: используйте эту функцию, если хотите поделиться определённой версией с тестировщиками. Чтобы узнать, как использовать ссылки на релиз, см. статью Распространение приложений iOS среди тестировщиков с помощью консоли Firebase . Эти ссылки также доступны в наших инструментах командной строки Firebase и Fastlane (CLI) для использования с вашими инструментами автоматизации сборки.
Встроенные оповещения: используйте эти оповещения, чтобы убедиться, что ваши тестировщики тестируют последнюю версию вашего приложения. Интеграция Firebase App Distribution iOS SDK позволит вам отображать оповещения непосредственно в приложении для тестировщиков о выходе новых сборок. Чтобы узнать, как добавить встроенные оповещения, см. статью Уведомление тестировщиков о новых сборках .
Автоматически закрывать доступ тестировщикам, которые покидают компанию
После того, как процесс внутреннего тестирования CI/CD будет запущен, вам необходимо убедиться, что уволившиеся сотрудники больше не будут иметь доступа к вашим внутренним сборкам. App Distribution предоставляет следующие возможности для управления доступом тестировщиков к сборкам:
Fastlane: используйте файл Fastfile или напрямую запускайте действия Fastlane. Подробнее об использовании Fastlane для удаления тестировщиков см. в статье «Распространение приложений iOS среди тестировщиков с помощью Fastlane» .
Public Firebase App Distribution API : используйте конечную точку
testers.batchRemove
.