将 Device Farm 与 Jenkins CI 服务器集成 - AWS Device Farm

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Device Farm 与 Jenkins CI 服务器集成

Jenkins CI 插AWS件通过你自己的 Jenkins 持续集成 (CI) 服务器提供 Device Farm 功能。有关更多信息,请参阅 Jenkins (软件)

注意

要下载 Jenkins 插件,请转至GitHub并按照中的说明进行操作。第 1 步:为 Device Farm 安装 Jenkins CI 插AWS件

本节包含一系列在 Device Farm 中设置和使用 Jenkins CI 插AWS件的过程。

下图显示 Jenkins CI 插件的功能。

与 Jenkins CI Hello World 应用程序集成
与 Jenkins CI 构建后操作集成

此插件还可在本地下拉所有测试项目(日志、屏幕截图等):

与 Jenkins CI 测试项目集成

依赖项

Jenkins CI 插件需要 AWS 移动版 SDK 1.10.5 或更高版本。有关更多信息以及要安装SDK,请参阅AWS移动SDK

第 1 步:为 Device Farm 安装 Jenkins CI 插AWS件

安装适用于 Device Farm 的 Jenkins 持续集成 (CI) 插AWS件有两个选项。您可以从 Jenkins Web UI 的 Available Plugins (可用插件) 对话框中搜索插件,也可以下载 hpi 文件并从 Jenkins 中安装。

从 Jenkins UI 中安装

  1. 通过依次选择 Manage Jenkins (管理 Jenkins)Manage Plugins (管理插件)Available (可用),可在 Jenkins UI 中查找插件。

  2. 搜索 aws-device-farm

  3. 安装 AWS Device Farm 插件。

  4. 确保该插件归 Jenkins 用户所有。

  5. 重启 Jenkins。

下载插件

  1. 直接从 http://updates.jenkins-ci.org/latest/ aws-device-farm .hpi 下载hpi文件。

  2. 确保该插件归 Jenkins 用户所有。

  3. 使用以下选项之一安装插件:

    • 通过依次选择 Manage Jenkins (管理 Jenkins)Manage Plugins (管理插件)Advanced (高级)Upload plugin (上传插件) 来上传插件。

    • hpi 文件置于 Jenkins 插件目录 (通常为 /var/lib/jenkins/plugins) 中。

  4. 重启 Jenkins。

第 2 步:为适用于 Dev AWS Identity and Access Management ice Farm 的 Jenkins CI 插AWS件创建用户

我们建议您不要使用 AWS 根账户来访问 Device Farm。相反,请在您的 AWS 账户中创建一个新 AWS Identity and Access Management (IAM) 用户(或使用现有IAM用户),然后使用该IAM用户访问 Device Farm。

要创建新IAM用户,请参阅创建IAM用户 (AWS Management Console)。确保为每个用户生成访问密钥并下载或保存用户安全凭证。您稍后将需要凭证。

向IAM用户授予访问 Device Farm 的权限

要向IAM用户授予访问 Device Farm 的权限,请在中创建新的访问策略IAM,然后按如下方式将访问策略分配给IAM用户。

注意

用于完成以下步骤的 AWS root 账户或IAM用户必须具有创建以下IAM策略并将其附加到该IAM用户的权限。有关更多信息,请参阅使用策略

要在中创建访问策略 IAM
  1. 打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 选择策略

  3. 请选择创建策略。(如果 Get Started 按钮出现,选择此按钮,然后选择 Create Policy。)

  4. Create Your Own Policy 旁,选择 Select

  5. 对于策略名称,键入策略的名称(例如 AWSDeviceFarmAccessPolicy)。

  6. 描述中,键入可帮助您将该IAM用户与您的 Jenkins 项目关联的描述。

  7. 策略文档键入以下声明:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "DeviceFarmAll", "Effect": "Allow", "Action": [ "devicefarm:*" ], "Resource": [ "*" ] } ] }
  8. 请选择创建策略

为IAM用户分配访问策略
  1. 打开IAM控制台,网址为https://console.aws.amazon.com/iam/

  2. 选择用户

  3. 选择要向其分配访问策略的IAM用户。

  4. 权限区域中,为管理的策略选择附加策略

  5. 选择您刚刚创建的策略(例如,AWSDeviceFarmAccessPolicy)。

  6. 选择附加策略

第 3 步:在 Device Farm 中AWS首次配置 Jenkins CI 插件

首次运行 Jenkins 服务器时,您将需要按如下所示配置系统。

注意

如果您要使用设备槽,请将其启用,设备槽功能默认情况下处于禁用状态。

  1. 登录到您的 Jenkins Web 用户界面。

  2. 在屏幕左侧,选择 Manage Jenkins (管理 Jenkins)

  3. 选择 Configure System (配置系统)

  4. 向下滚动到 Dev AWSice Farm 标题。

  5. 为你的 Jenkins CI 插件创建一个IAM用户 复制您的安全凭证,并将您的访问密钥 ID 和私有访问密钥粘贴到其各自的框中。

  6. 选择保存

步骤 4:在 Jenkins 任务中使用插件

安装 Jenkins 插件后,请按照以下说明在 Jenkins 任务中使用该插件。

  1. 登录到您的 Jenkins Web UI。

  2. 单击要编辑的任务。

  3. 在屏幕左侧,选择 Configure (配置)

  4. 向下滚动至 Post-build Actions (构建后操作) 标题。

  5. 单击 “添加生成后操作”,然后选择 “在 Dev AWSice Farm 上运行测试”。

  6. 选择要使用的项目。

  7. 选择要使用的设备池。

  8. 选择是否想将测试项目 (如日志和屏幕截图) 存档在本地。

  9. Application (应用程序) 中,填写已编译的应用程序的路径。

  10. 选择您想运行的测试并填写所有必填字段。

  11. 选择保存