本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建报告组
您可以使用 CodeBuild 控制台 Amazon CLI、或 buildspec 文件来创建报告组。您的IAM角色必须具有创建报告组所需的权限。有关更多信息,请参阅 测试报告权限。
创建报告组 (buildspec)
使用 buildspec 创建的报告组不会导出原始测试结果文件。您可以查看报告组并指定导出设置。有关更多信息,请参阅 更新报告组。
使用 buildspec 文件创建报告组
-
选择与您 Amazon 账户中的报告组无关的报告组名称。
-
使用此名称配置 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。
-
在
commands
部分中,指定运行测试的命令。有关更多信息,请参阅 指定测试命令 。 -
运行构建。构建完成后,将使用
project-name-report-group-name
格式的名称创建一个新的报告组。有关更多信息,请参阅 报告组命名。
创建报告组(控制台)
使用以下步骤使用创建报告组 Amazon Web Services Management Console。
创建报告组
在 https://console.aws.amazon.com/codesuite/codebuild
/home 中打开 Amazon CodeBuild 控制台。 -
在导航窗格中,选择报告组。
-
选择创建报告组。
-
对于报告组名称,输入报告组的名称。
-
(可选)在 “标签” 中,输入您希望支持 Amazon 服务使用的任何标签的名称和值。使用添加行添加标签。最多可以添加 50 个标签。
-
如果您想将测试报告结果的原始数据上传到 Amazon S3 存储桶:
-
选择导出到 Amazon S3。
-
对于 S3 存储桶名称,请输入 S3 存储桶的名称。
-
(可选)对于 S3 存储桶拥有者,请输入拥有 S3 存储桶的账户的 Amazon 账户标识符。这允许将报告数据导出到 Amazon S3 桶,该存储桶由运行构建的账户以外的账户拥有。
-
对于路径前缀,请输入要上传测试结果的 S3 存储桶中的路径。
-
选择将测试结果数据压缩为 zip 文件以便压缩原始测试结果数据文件。
-
展开其他配置以显示加密选项。选择以下操作之一:
-
用 Amazon 托管式密钥 于 Amazon S3 的@@ 默认 Amazon 托管密钥。有关更多信息,请参阅《Amazon Key Management Service 用户指南》CMKs中的客户管理。这是默认加密选项。
-
选择自定义密钥将使用您创建和配置的客户托管密钥。对于Amazon KMS 加密密钥,请ARN输入您的加密密钥。其格式为
arn:aws:kms:
。有关更多信息,请参阅《Amazon Key Management Service 用户指南》中的创建KMS密钥。<region-id>
:<aws-account-id>
:key/<key-id>
-
禁用构件加密将禁用加密。如果要共享测试结果或将其发布到静态网站,则可以选择此选项。(动态网站可以运行代码来解密测试结果。)
有关静态数据加密的更多信息,请参阅数据加密。
-
注意
项目中指定的 CodeBuild 服务角色用于授予上传到 S3 存储桶的权限。
-
-
选择创建报告组。
创建报告组 (CLI)
使用以下步骤使用创建报告组 Amazon CLI。
创建报告组
-
创建一个名为
CreateReportGroup.json
的文件。 -
根据您的要求,将以下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 存储桶的权限。
-
-
运行以下命令:
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 存储桶的权限。