Как распространять приложения iOS среди тестировщиков с помощью интерфейса командной строки Firebase

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

Подготовка

  1. Если вы ещё этого не сделали, добавьте Firebase в проект Apple.

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

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

1. Как распространять приложение среди тестировщиков

Чтобы распространить приложение среди тестировщиков, загрузите IPA-файл с помощью интерфейса командной строки Firebase:

  1. Установите или обновите до последней версии Firebase CLI (мы рекомендуем скачать отдельный исполняемый файл CLI для вашей ОС). Войдите в аккаунт и проверьте, есть ли у вас доступ к проектам.
  2. Выполните команду appdistribution:distribute, чтобы загрузить приложение и распространить его среди тестировщиков. Для настройки распространения используйте следующие параметры:

    appdistribution:distribute options
    --app

    Обязательно. Идентификатор приложения в Firebase. Идентификатор приложения можно найти в консоли Firebase на странице Общие настройки.

    --app 1:1234567890:ios:0a1b2c3d4e5f67890
    --token

    Токен обновления, который выводится при аутентификации среды CI с помощью интерфейса командной строки Firebase (подробнее о том, как использовать интерфейс командной строки с системами CI …).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    Примечания к выпуску этой сборки.

    Вы можете указать примечания к выпуску напрямую:

    --release-notes "Text of release notes"

    Или укажите путь к файлу с обычным текстом:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    Адреса электронной почты тестировщиков, которых вы хотите пригласить.

    Укажите тестировщиков в виде списка адресов электронной почты, разделенного запятыми:

    --testers "ali@example.com, bri@example.com, cal@example.com"

    Или укажите путь к текстовому файлу со списком адресов электронной почты, разделенных запятыми:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    Группы тестировщиков, которых вы хотите пригласить (см. раздел Управление тестировщиками). Группы указываются с помощью псевдонимов групп, которые можно найти в консоли Firebase.

    Вы можете указать группы в виде списка, разделенного запятыми:

    --groups "qa-team, trusted-testers"

    Или укажите путь к текстовому файлу, содержащему список названий групп, разделенных запятыми:

    --groups-file "/path/to/groups.txt"
    --debug

    Флаг, который можно добавить, чтобы распечатать подробный вывод журнала.

    --test-devices
    --test-devices-file

    Тестовые устройства, на которых агент тестирования приложений будет проводить тестирование.

    Укажите тестовые устройства в виде списка спецификаций, разделенных точкой с запятой:

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait"

    Или укажите путь к текстовому файлу, содержащему список тестовых устройств, разделенных точкой с запятой:

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    Имя пользователя для автоматического входа, которое будет использоваться во время тестирования агентом тестирования приложений.

    --test-password
    --test-password-file

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

    Вы также можете указать путь к текстовому файлу с паролем:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    Название ресурса для поля имени пользователя для автоматического входа, которое будет использоваться во время тестирования агентом тестирования приложений.

    --test-password-resource

    Название ресурса для поля пароля, которое будет использоваться для автоматического входа в систему во время тестирования агентом тестирования приложений.

    --test-non-blocking

    Если задать этот параметр при выполнении тестов агента тестирования приложений, команда запустит тесты и сразу же вернет результат, не дожидаясь их завершения. Результаты тестирования можно посмотреть в консоли Firebase. Если этот флаг не задан, команда будет заблокирована до завершения тестов и выйдет с кодом ошибки, если какой-либо из тестов не пройдет.

    --results-bucket

    Специальный сегмент Google Cloud Storage (GCS), в котором хранятся результаты тестирования. Если оставить поле пустым, будет использоваться корзина по умолчанию. Сегмент должен принадлежать проекту с включенным платежным аккаунтом. При указании сегмента взимается плата за использованное хранилище.

    Пример:

    firebase appdistribution:distribute test.ipa  \
        --app 1:1234567890:ios:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    После загрузки выпуска интерфейс командной строки Firebase выводит следующие ссылки: Эти ссылки помогают управлять двоичными файлами и следить за тем, чтобы у тестировщиков и других разработчиков была правильная версия:

    • firebase_console_uri – ссылка на консоль Firebase, где показан один выпуск. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.
    • testing_uri – ссылка на выпуск в интерфейсе тестировщика (веб-клип iOS), позволяющая тестировщикам просматривать примечания к выпуску и устанавливать приложение на свои устройства. Чтобы воспользоваться ссылкой, у тестировщика должен быть доступ к выпуску.
    • binary_download_uri – подписанная ссылка, по которой можно напрямую скачать и установить исполняемый файл приложения (IPA-файл). Срок действия ссылки истекает через час.

    Как управлять тестировщиками и группами

    Помимо распространения версий, вы также можете использовать appdistribution:testers:add и appdistribution:testers:remove, чтобы приглашать новых тестировщиков или удалять существующих из проекта Firebase.

    После того как тестировщик добавлен в проект Firebase, его можно добавить в отдельные версии. После этого у него больше не будет доступа к релизам в вашем проекте. Обратите внимание, что у тестировщиков, которых вы недавно удалили, может оставаться доступ к вашим выпускам в течение некоторого времени.

    Пример:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com

    Адреса электронной почты тестировщиков должны быть разделены пробелами. Вы также можете указать тестировщиков с помощью свойства --file /path/to/testers.txt.

    Если у вас много тестировщиков, рекомендуем использовать группы. Вы можете создавать и удалять группы в проекте Firebase с помощью appdistribution:group:create и appdistribution:group:delete.

    Используйте --group-alias, чтобы указать группу для команд appdistribution:testers:add и appdistribution:testers:remove.

    Пример:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

После распространения сборка будет доступна на App Distributionпанели управления Firebaseконсоли в течение 150 дней (пяти месяцев). Когда до истечения срока действия сборки остается 30 дней, уведомление об этом появляется в консоли и в списке сборок на тестовом устройстве.

Тестировщики, которые ещё не получили приглашение, получат его по электронной почте. Те, кто уже тестирует приложение, получат уведомление о том, что доступна новая сборка. Подробнее о том, как установить тестовое приложение… В консоли Firebase можно отслеживать статус каждого тестировщика: принял ли он приглашение и скачал ли приложение.

У тестировщиков есть 30 дней, чтобы принять приглашение. Когда до истечения срока действия приглашения остается пять дней, в консоли Firebase рядом с тестировщиком в выпуске появляется уведомление об истечении срока действия. Приглашение можно обновить, отправив его повторно с помощью раскрывающегося меню в строке тестировщика.

Дальнейшие действия