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