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

В этом документе представлены рекомендации по использованию Firebase App Distribution и fastlane, чтобы сделать рабочие процессы предварительного тестирования платформы Apple устойчивыми и воспроизводимыми в среде CI/CD. Хотя этот документ посвящен быстрой полосе, мы также описываем решения, доступные через консоль Firebase, интерфейс командной строки Firebase и общедоступный API распространения приложений Firebase, чтобы предоставить вам больше гибкости. Мы также описываем ограничения для выпуска и тестировщика, чтобы вы могли заранее спланировать оптимальную работу.

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

Прежде чем вы начнете

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

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

  1. Откройте страницу распространения приложений в консоли Firebase.

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

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

Автоматизируйте рабочий процесс предварительного тестирования с помощью CI/CD

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

Используйте полосу обгона

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

Чтобы узнать, как интегрировать распространение приложений с 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

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

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

Используйте подключаемый модуль Fastlane для распространения приложений или интерфейс командной строки Firebase со служебными учетными записями, которые используют учетные данные приложения по умолчанию и помогают вам управлять своим CI. Сервисный аккаунт — это тип аккаунта Google, который представляет приложения, а не пользователей. Ваша система непрерывной интеграции может использовать учетные записи служб для запуска рабочих нагрузок распространения приложений. Дополнительные сведения см. в разделе Проверка подлинности с помощью учетной записи службы .

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

Помните об ограничениях выпуска

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

Добавьте один и тот же набор тестировщиков в несколько выпусков

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

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

Если вам нужно управлять большим количеством тестировщиков, вы можете массово добавлять и удалять тестировщиков с помощью консоли Firebase. Чтобы автоматизировать добавление и удаление тестировщиков, используйте интерфейс командной строки Firebase , fastlane или общедоступный API распространения приложений Firebase .

Помните об ограничениях тестера

Распространение приложений ограничивает количество тестировщиков, которых вы можете добавить в проект Firebase или группу распространения приложений. Когда вы превысите эти ограничения, вы не сможете распространять свое приложение среди дополнительных тестировщиков. Дополнительные сведения об ограничениях для тестировщиков см. в разделе Существуют ли ограничения на добавление тестировщиков в мое приложение?

Управляйте и автоматически добавляйте новые тестовые устройства 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 предоставляет следующие параметры: