Вы можете использовать Firebase Test Lab при разработке вашего приложения с использованием любой системы непрерывной интеграции (CI). Системы непрерывной интеграции позволяют вам автоматически собирать и тестировать ваше приложение каждый раз, когда вы проверяете обновления исходного кода вашего приложения.
Использование Firebase Test Lab с Jenkins CI
В этом разделе описывается, как использовать Test Lab с Jenkins CI .
Требования
Прежде чем использовать Firebase Test Lab с Jenkins, вам необходимо выполнить следующие шаги:
Настройте gcloud. Следуйте инструкциям из раздела Использование Firebase Test Lab из командной строки gcloud, чтобы создать проект Firebase и настроить локальную среду Google Cloud SDK.
Создайте и авторизуйте учетную запись службы. Учетные записи службы не подлежат проверкам на спам или запросам капчи, которые в противном случае могли бы заблокировать ваши сборки CI. Создайте учетную запись службы с ролью редактора в консоли Google Cloud , а затем активируйте ее (см. документацию gcloud auth activate-service-account, чтобы узнать, как это сделать).
Включите требуемые API. После входа в систему с использованием учетной записи службы: На странице API Library консоли разработчиков Google включите API тестирования Google Cloud и API результатов Cloud Tool . Чтобы включить эти API, введите эти имена API в поле поиска в верхней части консоли, а затем нажмите Включить API на странице обзора для этого API.
Установка и настройка Jenkins
Вы можете установить и настроить Jenkins CI на Linux или Windows. Некоторые детали этого руководства относятся к установке и запуску Jenkins CI на Linux, включая использование слешей ( /
) в путях к файлам.
Чтобы загрузить и установить Jenkins на компьютер под управлением Linux или Windows, следуйте инструкциям по установке Jenkins . После установки Jenkins следуйте инструкциям по запуску и доступу к Jenkins , чтобы завершить настройку и получить доступ к панели управления Jenkins.
Настройте глобальные параметры безопасности
Jenkins не имеет настроенной аутентификации пользователей и контроля доступа при первой установке. Перед использованием Jenkins с Firebase Test Lab настройте глобальные параметры безопасности для обеспечения контроля доступа и аутентификации пользователей.
Для настройки глобальных параметров безопасности
- Перейдите на панель управления Jenkins на вашем сервере. Для этого перейдите по адресу http://<servername>:8080 , где <servername> — это имя компьютера, на котором установлен Jenkins.
- На панели управления Jenkins нажмите «Управление Jenkins» , а затем нажмите «Настроить глобальную безопасность» .
- На странице «Настройка глобальной безопасности» нажмите «Включить безопасность» , а затем нажмите «Сохранить» .
Дополнительную информацию о настройке параметров безопасности для Jenkins см. в разделах Быстрая и простая настройка безопасности , Стандартная настройка безопасности и Обеспечение безопасности Jenkins .
Создать проект Jenkins
Затем создайте проект для запуска непрерывного интеграционного тестирования вашего приложения с помощью Firebase Test Lab .
Чтобы создать проект Jenkins
- Перейдите на панель управления Jenkins на вашем сервере. Для этого перейдите по адресу http://<servername>:8080 , где <servername> — это имя компьютера, на котором установлен Jenkins.
- На панели инструментов Jenkins нажмите «Новый элемент» .
- Введите название вашего проекта в поле «Название элемента» :
- Выберите проект Freestyle , чтобы создать проект, использующий единую конфигурацию сборки.
- Выберите Build multi-configuration project , чтобы создать проект, который работает на нескольких различных конфигурациях сборки. Если вы планируете собрать свое приложение с различными конфигурациями сборки (несколько локалей, несколько уровней API Android и т. д.), то лучшим выбором будет проект с несколькими конфигурациями.
- Нажмите «Сохранить» .
После создания проекта ваш веб-браузер отобразит главную страницу вашего проекта.
Добавить контроль версий и шаги сборки Gradle
В этом разделе описывается, как интегрировать Jenkins с системами контроля версий, такими как GitHub, и как добавить шаги сборки Gradle для сборки пакетов APK из исходного кода.
Интеграция с GitHub и другими системами контроля версий
Если вы используете GitHub или другую систему контроля версий для управления исходным кодом вашего приложения, вы можете настроить Jenkins для запуска автоматизированных сборок и запуска тестов каждый раз при регистрации обновлений вашего приложения. Вы также можете настроить Jenkins для периодического запуска сборок.
Информацию о настройке сборок в Jenkins см. в разделе Настройка автоматических сборок .
Добавление шагов сборки Gradle для пересборки пакетов APK
Если вы используете систему контроля версий для управления исходным кодом вашего приложения, вам необходимо включить шаг сборки Gradle для создания новых двоичных файлов APK каждый раз, когда Jenkins загружает исходный код из вашей системы контроля версий.
Добавьте шаг сборки для запуска следующих команд в главном каталоге вашего приложения:
./gradlew :app:assembleDebug ./gradlew :app:assembleDebugAndroidTest
Добавьте шаг сборки для использования пакета(ов) APK, созданных Gradle при тестировании с помощью Test Lab . Вы можете использовать этот путь как <local_server_path> в примере скрипта оболочки, представленном ниже, где <AppFolder> — это папка проекта Android Studio для вашего приложения:
<AppFolder>/app/build/outputs/apk
Добавить шаги сборки Test Lab в Jenkins
Теперь вы готовы добавить шаг сборки в Jenkins для запуска Test Lab с помощью командной строки gcloud.
Чтобы добавить шаг сборки gcloud
- На главной странице вашего проекта нажмите «Настроить» .
На странице конфигурации проекта прокрутите страницу вниз до раздела «Сборка» , а затем выберите «Выполнить оболочку» в меню «Добавить шаг сборки» .
В окне командной строки Jenkins Execute введите следующее, заменив <local_server_path> на путь к примеру приложения на сервере, <app_apk> на APK вашего приложения и <app_test_apk> на тестовый APK вашего приложения:
gcloud firebase test android run --app <local_server_path>/<app_apk>.apk --test <local_server_path>/<app_test_apk>.apk
Анализ результатов теста
После того, как Test Lab завершит тестирование вашего приложения, вы можете просмотреть результаты теста в консоли Firebase или в контейнере Google Cloud Storage в вашем проекте. Вы также можете добавить команду gsutil
к команде оболочки, показанной выше, чтобы скопировать данные результатов теста на локальный компьютер. Чтобы узнать больше, см. Анализ результатов Firebase Test Lab .
Непрерывная интеграция с другими системами CI
Чтобы узнать, как использовать Firebase Test Lab с другими системами непрерывной интеграции, ознакомьтесь с их документацией: