Вы можете распространять сборки среди тестировщиков с помощью fastlane — платформы с открытым исходным кодом, которая автоматизирует сборку и выпуск приложений для iOS и Android. Он следует простым инструкциям, определенным в Fastfile
. После настройки fastlane и вашего Fastfile
вы можете интегрировать App Distribution с вашей конфигурацией fastlane.
Шаг 1. Настройте полосу ускорения
Чтобы добавить App Distribution в конфигурацию Fastlane, выполните следующую команду из корня вашего проекта iOS:
fastlane add_plugin firebase_app_distribution
Если команда предложит вам вариант, выберите
Option 3: RubyGems.org
.
Шаг 2. Аутентификация с помощью Firebase
Прежде чем вы сможете использовать плагин fastlane, вы должны сначала пройти аутентификацию в своем проекте Firebase одним из следующих способов. По умолчанию плагин fastlane ищет учетные данные из интерфейса командной строки Firebase , если другой метод аутентификации не используется.
Используйте учетные данные учетной записи службы Firebase
Аутентификация с помощью учетной записи службы позволяет вам гибко использовать плагин с вашей системой непрерывной интеграции (CI). Существует два способа предоставления учетных данных учетной записи службы:
- Передайте файл ключей вашей сервисной учетной записи в действие
firebase_app_distribution
. Этот метод может показаться вам удобным, если в вашей среде сборки уже есть файл ключей сервисной учетной записи. - Установите переменную среды
GOOGLE_APPLICATION_CREDENTIALS
чтобы она указывала на файл ключей вашего сервисного аккаунта. Вы можете предпочесть этот метод, если у вас уже есть учетные данные приложения по умолчанию (ADC), настроенные для другой службы Google (например, Google Cloud ).
- В консоли Google Cloud выберите свой проект и создайте новую учетную запись службы.
- Добавьте роль администратора Firebase App Distribution .
- Создайте закрытый ключ json и переместите его в место, доступное для вашей среды сборки. Обязательно сохраните этот файл в безопасном месте , поскольку он предоставляет администратору доступ к App Distribution в вашем проекте Firebase.
- Пропустите этот шаг, если вы создали свое приложение после 20 сентября 2019 г.: в консоли API Google включите API Firebase App Distribution . При появлении запроса выберите проект с тем же именем, что и ваш проект Firebase.
Предоставьте или найдите учетные данные своей сервисной учетной записи:
- Чтобы передать ключ сервисной учетной записи в действие
firebase_app_distribution
вашей полосы, установите параметрservice_credentials_file
с путем к файлу JSON вашего закрытого ключа. Чтобы найти свои учетные данные с помощью ADC, установите для переменной среды
GOOGLE_APPLICATION_CREDENTIALS
путь к JSON-файлу закрытого ключа. Например:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Дополнительные сведения об аутентификации с помощью ADC см. в статье Предоставление учетных данных вашему приложению.
- Чтобы передать ключ сервисной учетной записи в действие
Войдите в систему с помощью Firebase CLI.
Инструкции по аутентификации вашего проекта см. в разделе «Вход с помощью Firebase CLI» .
Шаг 3. Настройте Fastfile и распространите приложение.
- На дорожке
./fastlane/Fastfile
добавьте блокfirebase_app_distribution
. Для настройки раздачи используйте следующие параметры:параметры firebase_app_distribution app
Требуется, только если ваше приложение не содержит файла конфигурации Firebase (
GoogleService-Info.plist
) : идентификатор приложения Firebase вашего приложения. Идентификатор приложения можно найти в консоли Firebase на странице «Общие настройки» .app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
Путь к файлу
GoogleService-Info.plist
относительно пути к заархивированному продукту. По умолчанию установлено значениеGoogleService-Info.plist
.Файл используется для получения идентификатора приложения Firebase вашего приложения, если параметр
app
не указан.firebase_cli_token
Токен обновления, который печатается при аутентификации вашей среды CI с помощью Firebase CLI (дополнительную информацию см. в разделе Использование CLI с системами CI ).
service_credentials_file
Путь к json-файлу вашей учетной записи службы Google. См. выше информацию о том, как пройти аутентификацию с использованием учетных данных служебной учетной записи .
ipa_path
Заменяет
apk_path
(устарело). Абсолютный путь к файлу IPA, который вы хотите загрузить. Если не указано, fastlane определяет местоположение файла по полосе, в которой файл был создан.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"
test_devices
test_devices_file
Следующие типы распространения являются частью бета-функции автоматического тестировщика .
Тестовые устройства, на которые вы хотите распространять сборки (см. Автоматические тесты ).
Вы можете указать тестовые устройства в виде списка тестовых устройств, разделенных точкой с запятой:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,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, чтобы увидеть результаты автоматического тестирования.
debug
Логический флаг. Вы можете установить для этого параметра значение
true
, чтобы печатать подробный вывод отладки.
Например:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Чтобы сделать сборку доступной для тестировщиков, запустите свою дорожку:
fastlane <lane>
Возвращаемое значение действия — это хэш, представляющий загруженный выпуск. Этот хэш также доступен с lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
. Дополнительную информацию о доступных полях в этом хэше смотрите в документации REST API .
Плагин fastlane выводит следующие ссылки после загрузки релиза. Эти ссылки помогут вам управлять двоичными файлами и гарантировать, что у тестировщиков и других разработчиков есть правильный выпуск:
- Ссылка на консоль Firebase , отображающую один выпуск. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.
- Ссылка на выпуск в интерфейсе тестировщика (веб-клип iOS), позволяющая тестировщикам просматривать примечания к выпуску и устанавливать приложение на свое устройство. Чтобы использовать ссылку, тестировщику необходим доступ к выпуску.
- Подписанная ссылка, по которой напрямую загружается и устанавливается двоичный файл приложения (IPA-файл). Срок действия ссылки истекает через час.
После распространения сборки она будет доступна на панели App Distribution консоли Firebase в течение 150 дней. Когда до истечения срока действия сборки остается 30 дней, на консоли и в списке сборок тестировщика на его тестовом устройстве появляется уведомление об истечении срока действия.
Тестировщики, которых ранее не приглашали протестировать приложение, получают приглашения по электронной почте, чтобы начать работу. Существующие тестировщики получают уведомления по электронной почте о том, что новая сборка готова к тестированию. Чтобы узнать, как установить тестовое приложение, см. раздел Настройка в качестве тестировщика . Вы можете отслеживать статус каждого тестировщика, чтобы определить, приняли ли они приглашение и загрузили ли они приложение в консоли Firebase .
(Необязательно) Чтобы автоматически увеличивать номер сборки каждый раз, когда вы создаете новый выпуск в App Distribution, вы можете использовать действие firebase_app_distribution_get_latest_release
и действие increment_build_number
. Следующий код представляет собой пример автоматического увеличения номера сборки:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
Дополнительные сведения об этой функции плагина Fastlane см. в разделе Получение информации о последней версии вашего приложения .
Шаг 4 (необязательно). Управление тестировщиками дистрибутива
Вы можете добавлять и удалять тестировщиков из своего проекта или группы, используя файл Fastfile
или напрямую запуская действия Fastlane. Выполнение действий напрямую переопределяет значения, установленные в вашем Fastfile
.
Как только тестер будет добавлен в ваш проект Firebase, вы сможете добавить его в отдельные выпуски. Тестировщики, удаленные из вашего проекта Firebase, больше не имеют доступа к релизам вашего проекта, но могут сохранить доступ к вашим релизам в течение некоторого времени.
Если у вас большое количество тестировщиков, вам следует рассмотреть возможность использования групп.
Используйте Fastfile
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers
Выполняйте действия на полосе обгона
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
Вы также можете указать тестировщиков, используя --file="/path/to/testers.txt
вместо --emails
.
Задачи firebase_app_distribution_add_testers
и firebase_app_distribution_remove_testers
также принимают следующие аргументы:
-
project_name
: номер вашего проекта Firebase. -
group_alias
(необязательно): если указано, тестеры добавляются в указанную группу (или удаляются из нее). -
service_credentials_file
: путь к файлу учетных данных службы Google. -
firebase_cli_token
: токен аутентификации для Firebase CLI.
service_credentials_file
и firebase_cli_token
— это одни и те же аргументы, используемые в действии загрузки.
Шаг 5 (необязательно). Получите информацию о последней версии вашего приложения
Вы можете использовать действие firebase_app_distribution_get_latest_release
для получения информации о последней версии вашего приложения в App Distribution, включая информацию о версии приложения, примечания к выпуску и время создания. Варианты использования включают автоматическое увеличение версии и перенос примечаний к выпуску из предыдущей версии.
Возвращаемое значение действия — это хеш, представляющий последнюю версию. Этот хеш также доступен с lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. Дополнительную информацию о доступных полях в этом хэше смотрите в документации REST API .
Параметры
параметры firebase_app_distribution_get_latest_release | |
---|---|
app | Требуется, только если ваше приложение не содержит файла конфигурации Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | Путь к файлу Файл используется для получения идентификатора приложения Firebase вашего приложения, если параметр |
firebase_cli_token | Токен обновления, который печатается при аутентификации вашей среды CI с помощью Firebase CLI (дополнительную информацию см. в разделе Использование CLI с системами CI ). |
service_credentials_file | Путь к json-файлу вашей учетной записи службы Google. См. более раннюю документацию о том, как пройти аутентификацию с использованием учетных данных служебной учетной записи . |
service_credentials_json_data | Содержимое JSON-файла сервисного аккаунта Google. См. более раннюю документацию о том, как пройти аутентификацию с использованием учетных данных служебной учетной записи . |
debug | Логический флаг. Вы можете установить для этого параметра значение |
Следующие шаги
Чтобы зарегистрировать больше устройств вручную или программно, см. раздел Регистрация дополнительных устройств iOS .
Изучите передовые методы распространения приложений Apple среди тестировщиков QA с использованием CI/CD и fastlane .
Вы можете распространять сборки среди тестировщиков с помощью fastlane — платформы с открытым исходным кодом, которая автоматизирует сборку и выпуск приложений для iOS и Android. Он следует простым инструкциям, определенным в Fastfile
. После настройки fastlane и вашего Fastfile
вы можете интегрировать App Distribution с вашей конфигурацией fastlane.
Шаг 1. Настройте полосу ускорения
Чтобы добавить App Distribution в конфигурацию Fastlane, выполните следующую команду из корня вашего проекта iOS:
fastlane add_plugin firebase_app_distribution
Если команда предложит вам вариант, выберите
Option 3: RubyGems.org
.
Шаг 2. Аутентификация с помощью Firebase
Прежде чем вы сможете использовать плагин fastlane, вы должны сначала пройти аутентификацию в своем проекте Firebase одним из следующих способов. По умолчанию плагин fastlane ищет учетные данные из интерфейса командной строки Firebase , если другой метод аутентификации не используется.
Используйте учетные данные учетной записи службы Firebase
Аутентификация с помощью учетной записи службы позволяет вам гибко использовать плагин с вашей системой непрерывной интеграции (CI). Существует два способа предоставления учетных данных учетной записи службы:
- Передайте файл ключей вашей сервисной учетной записи в действие
firebase_app_distribution
. Этот метод может показаться вам удобным, если в вашей среде сборки уже есть файл ключей сервисной учетной записи. - Установите переменную среды
GOOGLE_APPLICATION_CREDENTIALS
чтобы она указывала на файл ключей вашего сервисного аккаунта. Вы можете предпочесть этот метод, если у вас уже есть учетные данные приложения по умолчанию (ADC), настроенные для другой службы Google (например, Google Cloud ).
- В консоли Google Cloud выберите свой проект и создайте новую учетную запись службы.
- Добавьте роль администратора Firebase App Distribution .
- Создайте закрытый ключ json и переместите его в место, доступное для вашей среды сборки. Обязательно сохраните этот файл в безопасном месте , поскольку он предоставляет администратору доступ к App Distribution в вашем проекте Firebase.
- Пропустите этот шаг, если вы создали свое приложение после 20 сентября 2019 г.: в консоли API Google включите API Firebase App Distribution . При появлении запроса выберите проект с тем же именем, что и ваш проект Firebase.
Предоставьте или найдите учетные данные своей сервисной учетной записи:
- Чтобы передать ключ сервисной учетной записи в действие
firebase_app_distribution
вашей полосы, установите параметрservice_credentials_file
с путем к файлу JSON вашего закрытого ключа. Чтобы найти свои учетные данные с помощью ADC, установите для переменной среды
GOOGLE_APPLICATION_CREDENTIALS
путь к JSON-файлу закрытого ключа. Например:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Дополнительные сведения об аутентификации с помощью ADC см. в статье Предоставление учетных данных вашему приложению.
- Чтобы передать ключ сервисной учетной записи в действие
Войдите в систему с помощью Firebase CLI.
Инструкции по аутентификации вашего проекта см. в разделе «Вход с помощью Firebase CLI» .
Шаг 3. Настройте Fastfile и распространите приложение.
- На дорожке
./fastlane/Fastfile
добавьте блокfirebase_app_distribution
. Для настройки раздачи используйте следующие параметры:параметры firebase_app_distribution app
Требуется, только если ваше приложение не содержит файла конфигурации Firebase (
GoogleService-Info.plist
) : идентификатор приложения Firebase вашего приложения. Идентификатор приложения можно найти в консоли Firebase на странице «Общие настройки» .app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
Путь к файлу
GoogleService-Info.plist
относительно пути к заархивированному продукту. По умолчанию установлено значениеGoogleService-Info.plist
.Файл используется для получения идентификатора приложения Firebase вашего приложения, если параметр
app
не указан.firebase_cli_token
Токен обновления, который печатается при аутентификации вашей среды CI с помощью Firebase CLI (дополнительную информацию см. в разделе Использование CLI с системами CI ).
service_credentials_file
Путь к json-файлу вашей учетной записи службы Google. См. выше информацию о том, как пройти аутентификацию с использованием учетных данных служебной учетной записи .
ipa_path
Заменяет
apk_path
(устарело). Абсолютный путь к файлу IPA, который вы хотите загрузить. Если не указано, fastlane определяет местоположение файла по полосе, в которой файл был создан.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"
test_devices
test_devices_file
Следующие типы распространения являются частью бета-функции автоматического тестировщика .
Тестовые устройства, на которые вы хотите распространять сборки (см. Автоматические тесты ).
Вы можете указать тестовые устройства в виде списка тестовых устройств, разделенных точкой с запятой:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,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, чтобы увидеть результаты автоматического тестирования.
debug
Логический флаг. Вы можете установить для этого параметра значение
true
, чтобы печатать подробный вывод отладки.
Например:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Чтобы сделать сборку доступной для тестировщиков, запустите свою дорожку:
fastlane <lane>
Возвращаемое значение действия — это хэш, представляющий загруженный выпуск. Этот хэш также доступен с lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
. Дополнительную информацию о доступных полях в этом хэше смотрите в документации REST API .
Плагин fastlane выводит следующие ссылки после загрузки релиза. Эти ссылки помогут вам управлять двоичными файлами и гарантировать, что у тестировщиков и других разработчиков есть правильный выпуск:
- Ссылка на консоль Firebase , отображающую один выпуск. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.
- Ссылка на выпуск в интерфейсе тестировщика (веб-клип iOS), позволяющая тестировщикам просматривать примечания к выпуску и устанавливать приложение на свое устройство. Чтобы использовать ссылку, тестировщику необходим доступ к выпуску.
- Подписанная ссылка, по которой напрямую загружается и устанавливается двоичный файл приложения (IPA-файл). Срок действия ссылки истекает через час.
После распространения сборки она будет доступна на панели App Distribution консоли Firebase в течение 150 дней. Когда до истечения срока действия сборки остается 30 дней, на консоли и в списке сборок тестировщика на его тестовом устройстве появляется уведомление об истечении срока действия.
Тестировщики, которых ранее не приглашали протестировать приложение, получают приглашения по электронной почте, чтобы начать работу. Существующие тестировщики получают уведомления по электронной почте о том, что новая сборка готова к тестированию. Чтобы узнать, как установить тестовое приложение, см. раздел Настройка в качестве тестировщика . Вы можете отслеживать статус каждого тестировщика, чтобы определить, приняли ли они приглашение и загрузили ли они приложение в консоли Firebase .
(Необязательно) Чтобы автоматически увеличивать номер сборки каждый раз, когда вы создаете новый выпуск в App Distribution, вы можете использовать действие firebase_app_distribution_get_latest_release
и действие increment_build_number
. Следующий код представляет собой пример автоматического увеличения номера сборки:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
Дополнительные сведения об этой функции плагина Fastlane см. в разделе Получение информации о последней версии вашего приложения .
Шаг 4 (необязательно). Управление тестировщиками дистрибутива
Вы можете добавлять и удалять тестировщиков из своего проекта или группы, используя файл Fastfile
или напрямую запуская действия Fastlane. Выполнение действий напрямую переопределяет значения, установленные в вашем Fastfile
.
Как только тестер будет добавлен в ваш проект Firebase, вы сможете добавить его в отдельные выпуски. Тестировщики, удаленные из вашего проекта Firebase, больше не имеют доступа к релизам вашего проекта, но могут сохранить доступ к вашим релизам в течение некоторого времени.
Если у вас большое количество тестировщиков, вам следует рассмотреть возможность использования групп.
Используйте Fastfile
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers
Выполняйте действия на полосе обгона
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
Вы также можете указать тестировщиков, используя --file="/path/to/testers.txt
вместо --emails
.
Задачи firebase_app_distribution_add_testers
и firebase_app_distribution_remove_testers
также принимают следующие аргументы:
-
project_name
: номер вашего проекта Firebase. -
group_alias
(необязательно): если указано, тестеры добавляются в указанную группу (или удаляются из нее). -
service_credentials_file
: путь к файлу учетных данных службы Google. -
firebase_cli_token
: токен аутентификации для Firebase CLI.
service_credentials_file
и firebase_cli_token
— это одни и те же аргументы, используемые в действии загрузки.
Шаг 5 (необязательно). Получите информацию о последней версии вашего приложения
Вы можете использовать действие firebase_app_distribution_get_latest_release
для получения информации о последней версии вашего приложения в App Distribution, включая информацию о версии приложения, примечания к выпуску и время создания. Варианты использования включают автоматическое увеличение версии и перенос примечаний к выпуску из предыдущей версии.
Возвращаемое значение действия — это хеш, представляющий последнюю версию. Этот хеш также доступен с lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. Дополнительную информацию о доступных полях в этом хэше смотрите в документации REST API .
Параметры
параметры firebase_app_distribution_get_latest_release | |
---|---|
app | Требуется, только если ваше приложение не содержит файла конфигурации Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | Путь к файлу Файл используется для получения идентификатора приложения Firebase вашего приложения, если параметр |
firebase_cli_token | Токен обновления, который печатается при аутентификации вашей среды CI с помощью Firebase CLI (дополнительную информацию см. в разделе Использование CLI с системами CI ). |
service_credentials_file | Путь к json-файлу вашей учетной записи службы Google. См. более раннюю документацию о том, как пройти аутентификацию с использованием учетных данных служебной учетной записи . |
service_credentials_json_data | Содержимое JSON-файла сервисного аккаунта Google. См. более раннюю документацию о том, как пройти аутентификацию с использованием учетных данных служебной учетной записи . |
debug | Логический флаг. Вы можете установить для этого параметра значение |
Следующие шаги
Чтобы зарегистрировать больше устройств вручную или программно, см. раздел Регистрация дополнительных устройств iOS .
Изучите передовые методы распространения приложений Apple среди тестировщиков QA с использованием CI/CD и fastlane .
Вы можете распространять сборки среди тестировщиков с помощью fastlane — платформы с открытым исходным кодом, которая автоматизирует сборку и выпуск приложений для iOS и Android. Он следует простым инструкциям, определенным в Fastfile
. После настройки fastlane и вашего Fastfile
вы можете интегрировать App Distribution с вашей конфигурацией fastlane.
Шаг 1. Настройте полосу ускорения
Чтобы добавить App Distribution в конфигурацию Fastlane, выполните следующую команду из корня вашего проекта iOS:
fastlane add_plugin firebase_app_distribution
Если команда предложит вам вариант, выберите
Option 3: RubyGems.org
.
Шаг 2. Аутентификация с помощью Firebase
Прежде чем вы сможете использовать плагин fastlane, вы должны сначала пройти аутентификацию в своем проекте Firebase одним из следующих способов. По умолчанию плагин fastlane ищет учетные данные из интерфейса командной строки Firebase , если другой метод аутентификации не используется.
Используйте учетные данные учетной записи службы Firebase
Аутентификация с помощью учетной записи службы позволяет вам гибко использовать плагин с вашей системой непрерывной интеграции (CI). Существует два способа предоставления учетных данных учетной записи службы:
- Передайте файл ключей вашей сервисной учетной записи в действие
firebase_app_distribution
. Этот метод может показаться вам удобным, если в вашей среде сборки уже есть файл ключей сервисной учетной записи. - Установите переменную среды
GOOGLE_APPLICATION_CREDENTIALS
чтобы она указывала на файл ключей вашего сервисного аккаунта. Вы можете предпочесть этот метод, если у вас уже есть учетные данные приложения по умолчанию (ADC), настроенные для другой службы Google (например, Google Cloud ).
- В консоли Google Cloud выберите свой проект и создайте новую учетную запись службы.
- Добавьте роль администратора Firebase App Distribution .
- Создайте закрытый ключ json и переместите его в место, доступное для вашей среды сборки. Обязательно сохраните этот файл в безопасном месте , поскольку он предоставляет администратору доступ к App Distribution в вашем проекте Firebase.
- Пропустите этот шаг, если вы создали свое приложение после 20 сентября 2019 г.: в консоли API Google включите API Firebase App Distribution . При появлении запроса выберите проект с тем же именем, что и ваш проект Firebase.
Предоставьте или найдите учетные данные своей сервисной учетной записи:
- Чтобы передать ключ сервисной учетной записи в действие
firebase_app_distribution
вашей полосы, установите параметрservice_credentials_file
с путем к файлу JSON вашего закрытого ключа. Чтобы найти свои учетные данные с помощью ADC, установите для переменной среды
GOOGLE_APPLICATION_CREDENTIALS
путь к JSON-файлу закрытого ключа. Например:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Дополнительные сведения об аутентификации с помощью ADC см. в статье Предоставление учетных данных вашему приложению.
- Чтобы передать ключ сервисной учетной записи в действие
Войдите в систему с помощью Firebase CLI.
Инструкции по аутентификации вашего проекта см. в разделе «Вход с помощью Firebase CLI» .
Шаг 3. Настройте Fastfile и распространите приложение.
- На дорожке
./fastlane/Fastfile
добавьте блокfirebase_app_distribution
. Для настройки раздачи используйте следующие параметры:параметры firebase_app_distribution app
Требуется, только если ваше приложение не содержит файла конфигурации Firebase (
GoogleService-Info.plist
) : идентификатор приложения Firebase вашего приложения. Идентификатор приложения можно найти в консоли Firebase на странице «Общие настройки» .app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
Путь к файлу
GoogleService-Info.plist
относительно пути к заархивированному продукту. По умолчанию установлено значениеGoogleService-Info.plist
.Файл используется для получения идентификатора приложения Firebase вашего приложения, если параметр
app
не указан.firebase_cli_token
Токен обновления, который печатается при аутентификации вашей среды CI с помощью Firebase CLI (дополнительную информацию см. в разделе Использование CLI с системами CI ).
service_credentials_file
Путь к json-файлу вашей учетной записи службы Google. См. выше информацию о том, как пройти аутентификацию с использованием учетных данных служебной учетной записи .
ipa_path
Заменяет
apk_path
(устарело). Абсолютный путь к файлу IPA, который вы хотите загрузить. Если не указано, fastlane определяет местоположение файла по полосе, в которой файл был создан.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"
test_devices
test_devices_file
Следующие типы распространения являются частью бета-функции автоматического тестировщика .
Тестовые устройства, на которые вы хотите распространять сборки (см. Автоматические тесты ).
Вы можете указать тестовые устройства в виде списка тестовых устройств, разделенных точкой с запятой:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,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, чтобы увидеть результаты автоматического тестирования.
debug
Логический флаг. Вы можете установить для этого параметра значение
true
, чтобы печатать подробный вывод отладки.
Например:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Чтобы сделать сборку доступной для тестировщиков, запустите свою дорожку:
fastlane <lane>
Возвращаемое значение действия — это хэш, представляющий загруженный выпуск. Этот хэш также доступен с lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
. Дополнительную информацию о доступных полях в этом хэше смотрите в документации REST API .
Плагин fastlane выводит следующие ссылки после загрузки релиза. Эти ссылки помогут вам управлять двоичными файлами и гарантировать, что у тестировщиков и других разработчиков есть правильный выпуск:
- Ссылка на консоль Firebase , отображающую один выпуск. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.
- Ссылка на выпуск в интерфейсе тестировщика (веб-клип iOS), позволяющая тестировщикам просматривать примечания к выпуску и устанавливать приложение на свое устройство. Чтобы использовать ссылку, тестировщику необходим доступ к выпуску.
- Подписанная ссылка, по которой напрямую загружается и устанавливается двоичный файл приложения (IPA-файл). Срок действия ссылки истекает через час.
После распространения сборки она будет доступна на панели App Distribution консоли Firebase в течение 150 дней. Когда до истечения срока действия сборки остается 30 дней, на консоли и в списке сборок тестировщика на его тестовом устройстве появляется уведомление об истечении срока действия.
Тестировщики, которых ранее не приглашали протестировать приложение, получают приглашения по электронной почте, чтобы начать работу. Существующие тестировщики получают уведомления по электронной почте о том, что новая сборка готова к тестированию. Чтобы узнать, как установить тестовое приложение, см. раздел Настройка в качестве тестировщика . Вы можете отслеживать статус каждого тестировщика, чтобы определить, приняли ли они приглашение и загрузили ли они приложение в консоли Firebase .
(Необязательно) Чтобы автоматически увеличивать номер сборки каждый раз, когда вы создаете новый выпуск в App Distribution, вы можете использовать действие firebase_app_distribution_get_latest_release
и действие increment_build_number
. Следующий код представляет собой пример автоматического увеличения номера сборки:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
Дополнительные сведения об этой функции плагина Fastlane см. в разделе Получение информации о последней версии вашего приложения .
Шаг 4 (необязательно). Управление тестировщиками дистрибутива
Вы можете добавлять и удалять тестировщиков из своего проекта или группы, используя файл Fastfile
или напрямую запуская действия Fastlane. Выполнение действий напрямую переопределяет значения, установленные в вашем Fastfile
.
Как только тестер будет добавлен в ваш проект Firebase, вы сможете добавить его в отдельные выпуски. Тестировщики, удаленные из вашего проекта Firebase, больше не имеют доступа к релизам вашего проекта, но могут сохранить доступ к вашим релизам в течение некоторого времени.
Если у вас большое количество тестировщиков, вам следует рассмотреть возможность использования групп.
Используйте Fastfile
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers
Выполняйте действия на полосе обгона
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
Вы также можете указать тестировщиков, используя --file="/path/to/testers.txt
вместо --emails
.
Задачи firebase_app_distribution_add_testers
и firebase_app_distribution_remove_testers
также принимают следующие аргументы:
-
project_name
: номер вашего проекта Firebase. -
group_alias
(необязательно): если указано, тестеры добавляются в указанную группу (или удаляются из нее). -
service_credentials_file
: путь к файлу учетных данных службы Google. -
firebase_cli_token
: токен аутентификации для Firebase CLI.
service_credentials_file
и firebase_cli_token
— это одни и те же аргументы, используемые в действии загрузки.
Шаг 5 (необязательно). Получите информацию о последней версии вашего приложения
Вы можете использовать действие firebase_app_distribution_get_latest_release
для получения информации о последней версии вашего приложения в App Distribution, включая информацию о версии приложения, примечания к выпуску и время создания. Варианты использования включают автоматическое увеличение версии и перенос примечаний к выпуску из предыдущей версии.
Возвращаемое значение действия — это хеш, представляющий последнюю версию. Этот хеш также доступен с lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. Дополнительную информацию о доступных полях в этом хэше смотрите в документации REST API .
Параметры
параметры firebase_app_distribution_get_latest_release | |
---|---|
app | Требуется, только если ваше приложение не содержит файла конфигурации Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | Путь к вашему файлу Файл используется для получения идентификатора приложения вашего приложения, если параметр |
firebase_cli_token | Токен обновления, который печатается при аутентификации вашей среды CI с помощью CLI Firebase (читать используйте CLI с системами CI для получения дополнительной информации). |
service_credentials_file | Путь к вашей учетной записи Google Service File. Смотрите более раннюю документацию о том, как аутентификация с использованием учетных данных Сервисной учетной записи . |
service_credentials_json_data | Учетная запись службы Google JSON. Смотрите более раннюю документацию о том, как аутентификация с использованием учетных данных Сервисной учетной записи . |
debug | Логический флаг. Вы можете установить это на |
Следующие шаги
Чтобы зарегистрировать больше устройств вручную или программно, см. Зарегистрируйте дополнительные устройства iOS .
Изучите лучшие практики для распространения приложений Apple в тестировщиках QA с использованием CI/CD и Fastlane .
Вы можете распространять сборки на тестеров, используя Fastlane , платформу с открытым исходным кодом, которая автоматизирует создание и выпуск приложений iOS и Android. Это следует за простыми инструкциями, определенными в Fastfile
. После настройки Fastlane и своего Fastfile
вы можете интегрировать App Distribution с вашей конфигурацией FastLane.
Шаг 1. Установите Fastlane
Чтобы добавить App Distribution в вашу конфигурацию Fastlane, запустите следующую команду из корня вашего проекта iOS:
fastlane add_plugin firebase_app_distribution
Если команда побуждает вас с опцией, выберите
Option 3: RubyGems.org
.
Шаг 2. Аутентификация с помощью Firebase
Прежде чем вы сможете использовать плагин Fastlane, вы должны сначала проверить подлинность с вашим проектом Firebase одним из следующих способов. По умолчанию плагин Fastlane ищет учетные данные от CLI Firebase , если не используется другой метод аутентификации.
Используйте учетные данные об учетной записи Firebase Service
Аутентификация с учетной записью службы позволяет гибко использовать плагин с вашей системой непрерывной интеграции (CI). Есть два способа предоставления учетных данных с учетом обслуживания:
- Передайте файл ключа учетной записи службы в действие
firebase_app_distribution
. Вы можете найти этот метод удобным, если у вас уже есть файл ключа учетной записи службы в вашей среде сборки. - Установите переменную среды
GOOGLE_APPLICATION_CREDENTIALS
чтобы указать на файл ключа учетной записи вашей службы. Вы можете предпочесть этот метод, если у вас уже есть учетные данные по умолчанию приложения (ADC) для другой службы Google (например, Google Cloud ).
- На консоли Google Cloud выберите свой проект и создайте новую учетную запись службы.
- Добавьте роль администратора Firebase App Distribution .
- Создайте частный ключ JSON и переместите ключ в местоположение, доступное для вашей среды сборки. Обязательно сохраните этот файл где -нибудь в безопасности , так как он предоставляет доступ администратора для App Distribution в вашем проекте Firebase.
- Пропустите этот шаг, если вы создали свое приложение после 20 сентября 2019 года: в консоли Google APIS включите API Firebase App Distribution . При запросе выберите проект с тем же названием, что и ваш проект Firebase.
Предоставьте или найдите учетные данные для учетной записи обслуживания:
-
service_credentials_file
перенести ключ учетной записи службы в действие вашей полосыfirebase_app_distribution
. Чтобы найти свои учетные данные с помощью АЦП, установите переменную среды
GOOGLE_APPLICATION_CREDENTIALS
на путь для файла JSON закрытого ключа. Например:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Для получения дополнительной информации об аутентификации с АЦП, прочтите предоставление учетных данных для вашего приложения.
-
Войдите, используя CLI Firebase
См. Войдите в систему с CLI Firebase для инструкций о том, как аутентифицировать ваш проект.
Шаг 3. Настройте свой FastFile и раздайте ваше приложение
-
./fastlane/Fastfile
firebase_app_distribution
Используйте следующие параметры для настройки распределения:Firebase_App_distribution Параметры app
Требуется только в том случае, если ваше приложение не содержит файла конфигурации Firebase (
GoogleService-Info.plist
) : идентификатор приложения вашего приложения. Вы можете найти идентификатор приложения в консоли Firebase , на странице общих настроек .app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path
Путь к вашему файлу
GoogleService-Info.plist
по сравнению с архивным путем продукта. Установка вGoogleService-Info.plist
по умолчанию.Файл используется для получения идентификатора приложения вашего приложения, если параметр
app
не определен.firebase_cli_token
Токен обновления, который печатается при аутентификации вашей среды CI с помощью CLI Firebase (читать используйте CLI с системами CI для получения дополнительной информации).
service_credentials_file
Путь к вашей учетной записи Google Service File. См. Выше для аутентификации с использованием учетных данных Service Account .
ipa_path
Заменяет
apk_path
(устарел). Абсолютный путь к файлу IPA, который вы хотите загрузить. В случае неопределенности Fastlane определяет местоположение файла с полосы движения, в которой был сгенерирован файл.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"
test_devices
test_devices_file
Следующие типы распределения являются частью функции Beta Automated Tester .
Тестовые устройства, на которые вы хотите распределить сборки (см. Автоматизированные тесты ).
Вы можете указать тестовые устройства в виде полуколонного списка тестовых устройств:
test_devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,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 для результатов автоматических испытаний.
debug
Логический флаг. Вы можете установить это на
true
to Print Verbose Debug Вывод.
Например:
platform :ios do desc "My awesome app" lane :distribute do build_ios_app(...) # build_ios_app is a built-in fastlane action. release = firebase_app_distribution( app: "1:123456789:ios:abcd1234", testers: "tester1@company.com, tester2@company.com", release_notes: "Lots of amazing new features to test out!" ) end end
Чтобы сделать сборку доступной для тестеров, запустите свой переулок:
fastlane <lane>
Возвращаемое значение действия - это хэш, представляющий загруженный выпуск. Этот хэш также доступен с использованием lane_context[SharedValues::FIREBASE_APP_DISTRO_RELEASE]
. Для получения дополнительной информации о доступных областях в этом хэше см. В документации по API REST .
Плагин Fastlane выводит следующие ссылки после загрузки выпуска. Эти ссылки помогают вам управлять двусторонними и гарантировать, что тестеры и другие разработчики имеют правильный релиз:
- Ссылка на консоли Firebase с отображением одного выпуска. Вы можете поделиться этой ссылкой с другими разработчиками в вашей организации.
- Ссылка на релиз в опыте Tester (веб -клип iOS), которая позволяет тестировщикам просматривать заметки о выпуске и устанавливать приложение на их устройство. Тестер нуждается в доступе к выпуску, чтобы использовать ссылку.
- Подписанная ссылка, которая напрямую загружает и устанавливает App Binary (файл IPA). Ссылка истекает через час.
После того, как вы распределите свою сборку, он доступен в панели App Distribution консоли Firebase в течение 150 дней. Когда сборка составляет 30 дней после истечения срока действия, в консоли появляется уведомление о истечении срока действия и в списке тестеров на их тестовом устройстве.
Тестеры, которые ранее не были приглашены для тестирования приложения, получают приглашения по электронной почте, чтобы начать работу. Существующие тестеры получают уведомления по электронной почте, что новая сборка готова к тестированию. Чтобы узнать, как установить тестовое приложение, см. Настройку в качестве тестера . Вы можете отслеживать состояние каждого тестера, чтобы определить, приняли ли они приглашение и загрузили ли они приложение в консоли Firebase .
(Необязательно) Чтобы автоматически увеличивать свой номер сборки каждый раз, когда вы создаете новый релиз в распределении приложений, вы можете использовать действие firebase_app_distribution_get_latest_release
и действие increment_build_number
. В следующем коде приведен пример того, как автоматически увеличить свой номер сборки:
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "<your Firebase app ID>"
)
increment_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end
Чтобы узнать больше об этой функции плагина Fastlane, см . Получите информацию о последнем выпуске вашего приложения .
Шаг 4 (необязательно). Управлять тестировщиками для распределения
Вы можете добавить и удалять тестировщики из вашего проекта или группы, используя ваш файл Fastfile
или непосредственно выполняя действия FastLane. Запуск действий непосредственно переопределяет значения, установленные в вашем Fastfile
.
После того, как тестер добавлен в ваш проект Firebase, вы можете добавить их в отдельные выпуски. Тестеры, которые удалены из вашего проекта Firebase, больше не имеют доступа к выпускам в вашем проекте, но они могут сохранить доступ к вашим релизам в течение окна времени.
Если у вас есть большое количество тестеров, вы должны рассмотреть возможность использования групп.
Используйте Fastfile
# Use lanes to add or remove testers from a project. lane(:add_testers) do firebase_app_distribution_add_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) add testers to this group ) end lane(:remove_testers) do firebase_app_distribution_remove_testers( emails: "foo@google.com,bar@google.com" # or file: "/path/to/testers.txt" group_alias: "qa-team" # (Optional) remove testers from this group only ) end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers
Запустить Fastlane действий
fastlane run firebase_app_distribution_create_group display_name:"QA Team" alias:"qa-team"
fastlane run firebase_app_distribution_add_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_remove_testers group_alias:"qa-team" emails:"foo@google.com,bar@google.com"
fastlane run firebase_app_distribution_delete_group alias:"qa-team"
Вы также можете указать тестеров с использованием --file="/path/to/testers.txt
вместо --emails
.
firebase_app_distribution_add_testers
и firebase_app_distribution_remove_testers
задачи также принимают следующие аргументы:
-
project_name
: номер вашего проекта Firebase. -
group_alias
(необязательно): если указано, тестеры добавляются в (или удаляются из) указанной группы. -
service_credentials_file
: путь к вашему файлу учетных данных службы Google. -
firebase_cli_token
: auth token для Firebase CLI.
service_credentials_file
и firebase_cli_token
- это те же аргументы, которые использовались в действии загрузки.
Шаг 5 (необязательно). Получите информацию о последнем выпуске вашего приложения
Вы можете использовать действие firebase_app_distribution_get_latest_release
, чтобы получить информацию о последнем выпуске вашего приложения в распределении приложений, включая информацию версии приложения, заметки о выпуске и время создания. Варианты использования включают автоматическое увеличение версии и перевозку заметок о выпуске из предыдущего выпуска.
Возвращаемое значение действия - это хэш, представляющий последнюю релиз. Этот хэш также доступен с использованием lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE]
. Для получения дополнительной информации о доступных областях в этом хэше см. В документации по API REST .
Параметры
firebase_app_distribution_get_latest_release Параметры | |
---|---|
app | Требуется только в том случае, если ваше приложение не содержит файла конфигурации Firebase ( app: "1:1234567890:ios:0a1b2c3d4e5f67890" |
googleservice_info_plist_path | Путь к вашему файлу Файл используется для получения идентификатора приложения вашего приложения, если параметр |
firebase_cli_token | Токен обновления, который печатается при аутентификации вашей среды CI с помощью CLI Firebase (читать используйте CLI с системами CI для получения дополнительной информации). |
service_credentials_file | Путь к вашей учетной записи Google Service File. Смотрите более раннюю документацию о том, как аутентификация с использованием учетных данных Сервисной учетной записи . |
service_credentials_json_data | Учетная запись службы Google JSON. Смотрите более раннюю документацию о том, как аутентификация с использованием учетных данных Сервисной учетной записи . |
debug | Логический флаг. Вы можете установить это на |
Следующие шаги
Чтобы зарегистрировать больше устройств вручную или программно, см. Зарегистрируйте дополнительные устройства iOS .
Изучите лучшие практики для распространения приложений Apple в тестировщиках QA с использованием CI/CD и Fastlane .