В этом документе представлены лучшие практики использования Firebase App Distribution и fastlane для обеспечения устойчивости и воспроизводимости рабочих процессов предварительного тестирования платформ Apple в среде CI/CD. Хотя этот документ посвящен fastlane, мы также описываем решения, доступные через консоль Firebase , Firebase CLI и публичный API Firebase App Distribution , чтобы обеспечить вам большую гибкость. Мы также описываем ограничения на количество релизов и тестировщиков, чтобы вы могли заранее спланировать оптимальные условия работы.
Если вы также используете Android, ознакомьтесь с рекомендациями по распространению приложений Android среди тестировщиков с помощью CI/CD .
Прежде чем начать
Прежде чем внедрять рекомендации, описанные в этом документе, обязательно включите функцию App Distribution в консоли Firebase для каждого приложения . Если App Distribution не включена, вы получите ошибку 404.
Чтобы включить App Distribution , выполните следующие действия:
Откройте страницу App Distribution в консоли Firebase .
Выберите ваше приложение для iOS.
Нажмите « Начать» .
Автоматизируйте процесс тестирования перед выпуском с помощью CI/CD.
If you want to automate building and releasing apps to your testers and you're using CI/CD, we recommend that you use fastlane . Another option is to use the Firebase CLI, which lets you access a wide array of Firebase products.
Используйте скоростную полосу
Интегрируйте 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» .
Используйте учетные данные службы для аутентификации.
Используйте плагин Fastlane App Distribution или Firebase CLI с учетными записями служб, которые используют учетные данные приложений по умолчанию и помогают управлять вашей системой непрерывной интеграции (CI). Учетная запись службы — это тип учетной записи Google, представляющий приложения, а не пользователей. Ваша система CI может использовать учетные записи служб для запуска рабочих нагрузок App Distribution . Для получения дополнительной информации см. раздел «Аутентификация с помощью учетной записи службы» .
Если вы используете федерацию идентификации рабочих нагрузок, вы можете сгенерировать и использовать файл конфигурации учетных данных вместо ключа учетной записи службы.
Учитывайте ограничения на выпуск.
App Distribution поддерживает максимум 1000 релизов на приложение. Это означает, что при превышении лимита релизов App Distribution автоматически удаляет самые старые релизы, превышающие лимит. Чтобы узнать, как управлять лимитами релизов, см. раздел «Как долго доступны релизы приложений?».
Добавлять один и тот же набор тестировщиков в несколько релизов
Если вы хотите добавить большое количество тестировщиков к своим релизам, воспользуйтесь функцией массового управления тестировщиками в App Distribution .
Мы рекомендуем использовать группы для добавления одних и тех же тестировщиков к нескольким релизам. Группа действует как список контроля доступа; при удалении тестировщика из группы он теряет доступ ко всем релизам, распространяемым в рамках этой группы. Для получения дополнительной информации см. раздел «Добавление и удаление тестировщиков из группы» .
If you have a lot of testers to manage, you can bulk add and delete testers using the Firebase console. To automate adding and removing testers, use the Firebase CLI , fastlane , or the public Firebase App Distribution API .
Учитывайте ограничения тестировщика.
App Distribution ограничивает количество тестировщиков, которых вы можете добавить в проект Firebase или группу App Distribution . При превышении этих лимитов вы не сможете распространить свое приложение среди дополнительных тестировщиков. Чтобы узнать больше об ограничениях на количество тестировщиков, см. раздел «Существуют ли ограничения на добавление тестировщиков в мое приложение?».
Управляйте и автоматически добавляйте новые устройства для тестирования iOS.
To help you register additional iOS tester devices, App Distribution helps you manage your iOS tester devices in the Apple Developer Portal by informing you about new tester iOS devices via email or CSV files. To learn more, see Import testers from CSV files . You can also programmatically export new devices using fastlane .
To learn how to set up a fastlane action that automatically pulls down UDIDs, adds them to the Apple developer console, and then rebuilds the app and distributes it, see Distribute your pre-release iOS builds faster with App Distribution and fastlane .
Предоставьте потенциальным тестировщикам возможность самостоятельно зарегистрироваться для участия в тестировании.
Чтобы упростить распространение вашего приложения среди большего числа тестировщиков, мы рекомендуем использовать ссылки-приглашения. Ссылка-приглашение — это уникальный URL-адрес, который позволяет тестировщикам ввести свои адреса электронной почты для регистрации на тестирование приложения. Предоставление пользователям возможности добавлять себя в список тестировщиков вашего приложения — это простой способ расширить вашу внутреннюю базу тестировщиков.
Примеры использования ссылок-приглашений включают корпоративные программы тестирования, организации с большими командами контроля качества и группы разработчиков, которые хотят, чтобы отдельные клиенты могли контролировать доступ тестировщиков.
Мы рекомендуем создать ссылку-приглашение для группы. Любой тестировщик, зарегистрировавшийся по этой ссылке, автоматически будет добавлен в последующие релизы.
Для получения дополнительной информации см. разделы «Создание ссылок-приглашений» и «Добавление и удаление тестировщиков из группы» .
Убедитесь, что тестировщики тестируют именно ту версию, которая вас интересует.
Когда загружается новая версия, ваши тестировщики получают уведомление по электронной почте. В дополнение к этому уведомлению вы можете использовать следующие функции — ссылки на релизы и внутриприложения оповещения — чтобы убедиться, что ваши тестировщики тестируют именно ту версию приложения, которая вас интересует:
Release links: Use this feature when you want to share a specific version with testers. To learn how to use release links, see Distribute iOS apps to testers using the Firebase console . These links are also available with our Firebase and fastlane command-line (CLI) tools for use with your build automation tools.
In-app alerts: Use these alerts when you want to ensure that your testers are testing the latest version of your app. By integrating the Firebase App Distribution iOS SDK, you can display alerts directly inside the app to your testers when new builds of your app are available. To learn how to add in-app alerts, see Notify testers about new builds .
Автоматически лишать доступа тестировщиков, покидающих компанию.
Once your CI/CD internal testing flow is up and running, you need to make sure that people who leave the company no longer have access to your internal builds. To help you manage tester access to builds, App Distribution provides the following options:
fastlane: Используйте свой файл Fastfile или запускайте действия fastlane напрямую. Чтобы узнать больше об использовании fastlane для удаления тестировщиков, см. раздел «Распространение iOS-приложений среди тестировщиков с помощью fastlane» .
Публичный API App Distribution Firebase : используйте конечную точку
testers.batchRemove.