创建报告组 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建报告组

您可以使用 CodeBuild 控制台 Amazon CLI、或 buildspec 文件来创建报告组。您的IAM角色必须具有创建报告组所需的权限。有关更多信息,请参阅 测试报告权限

创建报告组 (buildspec)

使用 buildspec 创建的报告组不会导出原始测试结果文件。您可以查看报告组并指定导出设置。有关更多信息,请参阅 更新报告组

使用 buildspec 文件创建报告组
  1. 选择与您 Amazon 账户中的报告组无关的报告组名称。

  2. 使用此名称配置 buildspec 文件的 reports 部分。在此示例中,报告组名称为new-report-group,使用测试用例是使用JUnit框架创建的:

    reports: new-report-group: #surefire junit reports files: - '**/*' base-directory: 'surefire/target/surefire-reports'

    也可以通过在 buildspec 中使用环境变量来指定报告组名称:

    version: 0.2 env: variables: REPORT_GROUP_NAME: "new-report-group" phases: build: commands: - ... ... reports: $REPORT_GROUP_NAME: files: - '**/*' base-directory: 'surefire/target/surefire-reports'

    有关更多信息,请参阅指定测试文件Reports syntax in the buildspec file

  3. commands 部分中,指定运行测试的命令。有关更多信息,请参阅 指定测试命令

  4. 运行构建。构建完成后,将使用 project-name-report-group-name 格式的名称创建一个新的报告组。有关更多信息,请参阅 报告组命名

创建报告组(控制台)

使用以下步骤使用创建报告组 Amazon Web Services Management Console。

创建报告组
  1. https://console.aws.amazon.com/codesuite/codebuild /home 中打开 Amazon CodeBuild 控制台。

  2. 在导航窗格中,选择报告组

  3. 选择创建报告组

  4. 对于报告组名称,输入报告组的名称。

  5. (可选)在 “标签” 中,输入您希望支持 Amazon 服务使用的任何标签的名称和值。使用添加行添加标签。最多可以添加 50 个标签。

  6. 如果您想将测试报告结果的原始数据上传到 Amazon S3 存储桶:

    1. 选择导出到 Amazon S3

    2. 对于 S3 存储桶名称,请输入 S3 存储桶的名称。

    3. (可选)对于 S3 存储桶拥有者,请输入拥有 S3 存储桶的账户的 Amazon 账户标识符。这允许将报告数据导出到 Amazon S3 桶,该存储桶由运行构建的账户以外的账户拥有。

    4. 对于路径前缀,请输入要上传测试结果的 S3 存储桶中的路径。

    5. 选择将测试结果数据压缩为 zip 文件以便压缩原始测试结果数据文件。

    6. 展开其他配置以显示加密选项。选择以下操作之一:

      • 用 Amazon 托管式密钥 于 Amazon S3 的@@ 默认 Amazon 托管密钥。有关更多信息,请参阅《Amazon Key Management Service 用户指南》CMKs中的客户管理。这是默认加密选项。

      • 选择自定义密钥将使用您创建和配置的客户托管密钥。对于Amazon KMS 加密密钥,请ARN输入您的加密密钥。其格式为 arn:aws:kms:<region-id>: <aws-account-id>:key/<key-id> 。有关更多信息,请参阅《Amazon Key Management Service 用户指南》中的创建KMS密钥

      • 禁用构件加密将禁用加密。如果要共享测试结果或将其发布到静态网站,则可以选择此选项。(动态网站可以运行代码来解密测试结果。)

      有关静态数据加密的更多信息,请参阅数据加密

    注意

    项目中指定的 CodeBuild 服务角色用于授予上传到 S3 存储桶的权限。

  7. 选择创建报告组

创建报告组 (CLI)

使用以下步骤使用创建报告组 Amazon CLI。

创建报告组
  1. 创建一个名为 CreateReportGroup.json的文件。

  2. 根据您的要求,将以下JSON代码片段之一复制到CreateReportGroup.json

    • 使用以下内容指定您的测试报告组JSON将原始测试结果文件导出到 Amazon S3 存储桶。

      { "name": "<report-name>", "type": "TEST", "exportConfig": { "exportConfigType": "S3", "s3Destination": { "bucket": "<bucket-name>", "bucketOwner": "<bucket-owner>", "path": "<path>", "packaging": "NONE | ZIP", "encryptionDisabled": "false", "encryptionKey": "<your-key>" }, "tags": [ { "key": "tag-key", "value": "tag-value" } ] } }
      • Replace(替换) <bucket-name> 使用您的 Amazon S3 存储桶名称和 <path> 其中包含存储桶中要导出文件的路径。

      • 如果要压缩导出的文件,对于 packaging,请指定 ZIP。否则,请指定 NONE

      • bucketOwner 是可选的,仅当 Amazon S3 存储桶由运行构建的账户以外的账户拥有时才是必需的。

      • 使用 encryptionDisabled 指定是否要加密导出的文件。如果要加密导出的文件,请输入客户托管密钥。有关更多信息,请参阅 更新报告组

    • 使用以下命令JSON指定您的测试报告不导出原始测试文件:

      { "name": "<report-name>", "type": "TEST", "exportConfig": { "exportConfigType": "NO_EXPORT" } }
    注意

    项目中指定的 CodeBuild 服务角色用于授予上传到 S3 存储桶的权限。

  3. 运行以下命令:

    aws codebuild create-report-group --cli-input-json file://CreateReportGroupInput.json

创建报告组 (Amazon CloudFormation)

按照以下说明使用 Amazon CloudFormation 模板创建报告组

使用 Amazon CloudFormation 模板创建报告组

您可以使用 Amazon CloudFormation 模板文件来创建和置备报表组。有关更多信息,请参阅《Amazon CloudFormation 用户指南》。

以下 Amazon CloudFormation YAML模板创建了一个不导出原始测试结果文件的报告组。

Resources: CodeBuildReportGroup: Type: AWS::CodeBuild::ReportGroup Properties: Name: my-report-group-name Type: TEST ExportConfig: ExportConfigType: NO_EXPORT

以下 Amazon CloudFormation YAML模板创建了一个报告组,用于将原始测试结果文件导出到 Amazon S3 存储桶。

Resources: CodeBuildReportGroup: Type: AWS::CodeBuild::ReportGroup Properties: Name: my-report-group-name Type: TEST ExportConfig: ExportConfigType: S3 S3Destination: Bucket: amzn-s3-demo-bucket Path: path-to-folder-for-exported-files Packaging: ZIP EncryptionKey: my-KMS-encryption-key EncryptionDisabled: false
注意

项目中指定的 CodeBuild 服务角色用于授予上传到 S3 存储桶的权限。