В этом документе приведены рекомендации по использованию Firebase App Distribution и fastlane, которые помогут вам сделать рабочие процессы тестирования предварительных выпусков для платформы Apple устойчивыми и воспроизводимыми в среде CI/CD. В этом документе основное внимание уделяется fastlane, но мы также описываем решения, доступные через консоль Firebase, CLI Firebase и общедоступный API Firebase App Distribution, чтобы предоставить вам больше гибкости. Мы также расскажем об ограничениях на количество выпусков и тестировщиков, чтобы вы могли заранее спланировать работу.
Если вы также используете Android, ознакомьтесь с рекомендациями по распространению приложений Android среди тестировщиков с помощью CI/CD.
Подготовка
Прежде чем следовать рекомендациям из этого документа, включите App Distribution в консоли Firebase для каждого приложения. Если вы этого не сделаете App Distribution, то получите ошибку 404.
Чтобы включить App Distribution, выполните следующие действия:
Откройте страницу App Distribution в консоли Firebase.
Выберите приложение для iOS.
Нажмите Начать.
Автоматизируйте рабочий процесс тестирования предварительных выпусков с помощью CI/CD
Если вы хотите автоматизировать сборку и выпуск приложений для тестировщиков и используете CI/CD, рекомендуем использовать fastlane. Другой вариант – использовать интерфейс командной строки Firebase, который позволяет получить доступ к широкому спектру продуктов Firebase.
Использование fastlane
Интегрируйте App Distribution в конвейер непрерывной интеграции и доставки с помощью fastlane – инструмента с открытым исходным кодом, который автоматизирует сборку и выпуск приложений для iOS и Android. Автоматическая сборка и распространение последних выпусков среди тестировщиков гарантирует, что у них всегда будет самая актуальная тестовая версия вашего приложения.
Чтобы узнать, как интегрировать App Distribution с fastlane, прочитайте статью Как распространять приложения iOS среди тестировщиков с помощью fastlane. Вы также можете ознакомиться с практической работой, в которой рассказывается, как интегрировать fastlane.
Используйте интерфейс командной строки Firebase
Используйте инструменты командной строки 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
Чтобы узнать больше об использовании CLI Firebase для автоматизации сборок, ознакомьтесь с разделом Распространение приложений iOS среди тестировщиков с помощью CLI Firebase.
Используйте учетные данные сервиса для аутентификации
Используйте App Distribution плагин fastlane или CLI Firebase с сервисными аккаунтами, которые используют Application Default Credentials и помогают управлять непрерывной интеграцией. Сервисный аккаунт – это тип аккаунта Google, который представляет приложения, а не пользователей. Ваша система непрерывной интеграции может использовать сервисные аккаунты для выполнения рабочих нагрузок App Distribution. Подробнее об аутентификации с помощью сервисного аккаунта…
Если вы используете федерацию Workload Identity, то можете создать и использовать файл конфигурации учетных данных вместо ключа сервисного аккаунта.
Ограничения на количество релизов
App Distribution поддерживает не более 1000 выпусков на приложение. Если вы превысите это ограничение, App Distribution автоматически удалит самые старые выпуски. Подробнее о том, как управлять ограничениями на выпуск…
Как добавить одну группу тестировщиков в несколько выпусков
Если вы хотите добавить в выпуски большое количество тестировщиков, используйте функцию массового управления тестировщиками в App Distribution.
Рекомендуем использовать группы, чтобы добавлять одних и тех же тестировщиков в разные выпуски. Группа действует как список управления доступом. Если вы удалите тестировщика из группы, он потеряет доступ ко всем выпускам, распространяемым в ней. Подробнее о том, как добавлять тестировщиков в группу и удалять их из нее…
Если у вас много тестировщиков, вы можете добавлять и удалять их массово в консоли Firebase. Чтобы автоматизировать добавление и удаление тестировщиков, используйте CLI Firebase, fastlane или общедоступный API Firebase App Distribution.
Учитывайте ограничения на количество тестировщиков
App Distribution ограничивает количество тестировщиков, которых можно добавить в проект Firebase или группу App Distribution. Если вы превысите эти ограничения, то не сможете распространять приложение среди дополнительных тестировщиков. Подробнее об ограничениях на количество тестировщиков…
Управление устройствами тестировщиков iOS и их автоматическое добавление
Чтобы помочь вам зарегистрировать дополнительные тестовые устройства iOS, App Distribution помогает управлять ими на портале Apple Developer Portal, сообщая о новых тестовых устройствах iOS по электронной почте или с помощью CSV-файлов. Подробнее о том, как импортировать тестировщиков из CSV-файлов… Вы также можете экспортировать новые устройства с помощью fastlane.
Чтобы узнать, как настроить действие fastlane, которое автоматически извлекает UDID, добавляет их в консоль разработчика Apple, а затем пересобирает и распространяет приложение, прочитайте статью Как распространять предварительные выпуски iOS-приложений быстрее с помощью App Distribution и fastlane.
Разрешите потенциальным тестировщикам самостоятельно регистрироваться для участия в тестировании
Чтобы упростить распространение приложения среди тестировщиков, рекомендуем использовать ссылки для приглашения. Ссылка для приглашения – это уникальный URL, по которому тестировщики могут указать свои адреса электронной почты и зарегистрироваться для тестирования приложения. Это удобный способ расширить базу тестировщиков.
Ссылки для приглашения могут использоваться в программах внутреннего тестирования, организациях с большими командами контроля качества и группах разработчиков, которые хотят, чтобы отдельные клиенты могли управлять доступом тестировщиков.
Рекомендуем создать ссылку для приглашения в группу. Все тестировщики, которые зарегистрируются по ссылке для приглашения, будут автоматически добавлены в последующие выпуски.
Подробнее о том, как создавать ссылки для приглашения и как добавлять тестировщиков в группу и удалять их из нее…
Убедитесь, что тестировщики проверяют нужную версию
Когда вы загрузите новую версию, тестировщики получат уведомление по электронной почте. Чтобы тестировщики точно знали, какую версию приложения нужно проверить, вы можете использовать ссылки на выпуск и оповещения в приложении.
Ссылки на выпуски. Используйте эту функцию, чтобы поделиться с тестировщиками определенной версией приложения. Подробнее о том, как распространять приложения iOS среди тестировщиков с помощью консоли Firebase… Эти ссылки также доступны в инструментах командной строки Firebase и fastlane (CLI), которые можно использовать с инструментами автоматизации сборки.
Оповещения в приложении. Используйте их, чтобы тестировщики проверяли последнюю версию приложения. Интегрировав App Distribution iOS SDK, вы сможете показывать тестировщикам оповещения о новых сборках прямо в приложении. Подробнее о том, как настроить оповещения в приложении…
Автоматически закрывать доступ тестировщикам, которые увольняются из компании.
Когда вы настроите внутренний поток тестирования CI/CD, убедитесь, что у сотрудников, которые увольняются из компании, больше нет доступа к внутренним сборкам. В App Distribution есть следующие варианты управления доступом тестировщиков к сборкам:
fastlane. Используйте файл Fastfile или напрямую запускайте действия fastlane. Подробнее о том, как распространять приложения для iOS среди тестировщиков с помощью fastlane…
**Общедоступный Firebase App Distribution API:** используйте конечную точку
testers.batchRemove.