将 Firebase 测试实验室与持续集成系统结合使用

使用任何持续集成 (CI) 系统开发您的应用时,您可以结合使用 Firebase 测试实验室。借助于持续集成系统,每次签入对应用源代码的更新时,您都可以自动构建和测试应用。

将 Firebase 测试实验室与 Jenkins CI 结合使用

本部分介绍如何将测试实验室与 Jenkins CI 结合使用。

要求

在将 Firebase 测试实验室与 Jenkins 结合使用之前,您需要先完成以下步骤:

  1. 设置 gcloud。 按照通过 gcloud 命令行使用 Firebase 测试实验室的说明创建一个 Firebase 项目并配置您的本地 Google Cloud SDK 环境。
  2. 创建服务帐号。 服务帐号不需要接受垃圾内容检查或人机识别系统验证,这两类操作可能会阻止 CI 构建。在 Google Cloud Platform Console 中创建具备编辑者角色的服务帐号。
  3. 启用所需的 API。使用服务帐号登录后:在 Google Developers Console“API 库”页面中,启用 Google Cloud Testing APICloud Tool Results API。若要启用这些 API,请在 Developers Console 顶部的搜索框中输入这些 API 的名称,然后在相应 API 的概览页面上点击启用 API

安装并设置 Jenkins

您可以在 Linux 或 Windows 上安装并设置 Jenkins CI。本指南的某些内容只适用于在 Linux 上安装和运行 Jenkins CI,包括文件路径中使用的斜杠 (/)。

若要在运行 Linux 或 Windows 的计算机上下载并安装 Jenkins,请遵循安装 Jenkins 的相关说明。安装 Jenkins 后,请遵循启动并访问 Jenkins 的相关说明以完成 Jenkins 信息中心的设置并进行访问。

配置全局安全设置

Jenkins 在首次安装时不会配置用户身份验证和访问控制。在结合使用 Jenkins 与 Firebase 测试实验室之前,请配置全局安全设置以强制执行访问控制和对用户进行身份验证。

配置全局安全设置

  1. 转到服务器上的 Jenkins 信息中心。若要执行此操作,请转到 http://<服务器名称>:8080,其中 <服务器名称> 是已安装 Jenkins 的计算机的名称。
  2. 在 Jenkins 信息中心中,点击 Manage Jenkins,然后点击 Configure Global Security
  3. Configure Global Security 页面上,点击 Enable security,然后点击 Save

如需详细了解如何为 Jenkins 配置安全设置,请参阅快速简单的安全设置标准安全设置以及保障 Jenkins 安全

创建 Jenkins 项目

接下来,创建一个项目,用于通过 Firebase 测试实验室对您的应用运行持续集成测试。

创建 Jenkins 项目

  1. 转到服务器上的 Jenkins 信息中心。若要执行此操作,请转到 http://<服务器名称>:8080,其中 <服务器名称> 是已安装 Jenkins 的计算机的名称。
  2. 在 Jenkins 信息中心中,点击 New Item
  3. Item name 字段中输入项目的名称:
    • 选择 Freestyle project 可创建使用单个构建配置的项目。
    • 选择 Build multi-configuration project 可创建在多个不同的构建配置上运行的项目。如果您计划构建具有多种构建配置(多个语言区域、多个 Android API 级别等)的应用,则多配置项目是最佳选择。
  4. 点击 Save

创建项目后,您的网络浏览器将显示项目的主页面。

添加修订控制和 Gradle 构建步骤

本部分介绍如何将 Jenkins 与 GitHub 等修订控制系统进行集成,以及如何添加 Gradle 构建步骤以从源代码构建 APK 软件包。

与 GitHub 和其他修订控制系统进行集成

如果您使用 GitHub 或其他修订控制系统来管理应用的源代码,您可以将 Jenkins 配置为在每次签入应用更新时自动进行构建并运行测试。您还可以对 Jenkins 进行配置,以定期运行构建。

如需了解有关在 Jenkins 中配置构建的更多信息,请参阅配置自动构建

添加 Gradle 构建步骤以重新构建 APK 软件包

如果您使用修订控制系统管理应用的源代码,那么,每次 Jenkins 从您的修订控制系统下载源代码时,您必须添加一个 Gradle 构建步骤以创建新的 APK 二进制文件。

  1. 添加构建步骤以便在应用的主目录中运行下列命令:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. 通过测试实验室进行测试时,添加构建步骤以使用 Gradle 创建的 .APK 软件包。在下面提供的 shell 脚本示例中,您可以使用此路径作为 <local_server_path>,其中 <AppFolder> 是您的应用的 Android Studio 项目文件夹:

    <AppFolder>/app/build/outputs/apk
    

向 Jenkins 添加测试实验室构建步骤

现在,您可以使用 gcloud 命令行向 Jenkins 添加构建步骤以运行测试实验室了。

添加 gcloud 构建步骤

  1. 在项目的主页面中,点击 Configure
  2. project configuration 页面上,向下滚动到 Build 部分,然后,从 Add build step 菜单中选择 Execute shell

  3. Jenkins Execute shell command 窗口中,输入以下内容,将 <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
    

分析测试结果

在测试实验室完成应用的测试后,您可以在项目的 Firebase 控制台或 Google Cloud Storage 的存储分区中查看测试结果。您还可以向上面显示的 shell 命令添加一个 gsutil 命令,以将测试结果数据复制到本地计算机。如需了解详情,请参阅分析 Firebase 测试实验室结果

持续集成其他 CI 系统

如需了解如何将 Firebase 测试实验室与 Circle CI 结合使用,请参阅 Circle CI 提供的相关指南

如果您撰写了介绍如何将 Firebase 测试实验室与其他 CI 系统结合使用的文档,请与我们联系,以便我们审核该文档,并确定是否将其收录到此部分中。

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面