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

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

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

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

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

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

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

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

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

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

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

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

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

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

Используйте интерфейс командной строки Firebase

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

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

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 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автоматически закрывать доступ тестировщикам, покидающим компанию

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

,

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

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

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

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

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

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

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

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

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

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

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

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

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

Используйте интерфейс командной строки Firebase

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

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

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 .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автоматически закрывать доступ тестировщикам, покидающим компанию

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