创建报告组
您可以使用 CodeBuild 控制台、AWS CLI 或 buildspec 文件来创建报告组。您的 IAM 角色必须具有创建报告组所需的权限。有关更多信息,请参阅 测试报告权限。
创建报告组(buildspec)
使用 buildspec 创建的报告组不会导出原始测试结果文件。您可以查看报告组并指定导出设置。有关更多信息,请参阅 更新报告组。
使用 buildspec 文件创建报告组
-
选择与 AWS 账户中的报告组没有关联的报告组名称。
-
使用此名称配置 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
格式的名称创建一个新的报告组。有关更多信息,请参阅 报告组命名。
创建报告组(控制台)
按照以下过程使用 AWS Management Console 创建报告组。
创建报告组
从 https://console.aws.amazon.com/codesuite/codebuild/home
打开 AWS CodeBuild 控制台。 -
在导航窗格中,选择报告组。
-
选择创建报告组。
-
对于报告组名称,输入报告组的名称。
-
(可选)对于标签,输入您希望支持 AWS 服务使用的任何标签的名称和值。使用添加行添加标签。最多可以添加 50 个标签。
-
如果您想将测试报告结果的原始数据上传到 Amazon S3 存储桶:
-
选择导出到 Amazon S3。
-
对于 S3 存储桶名称,请输入 S3 存储桶的名称。
-
(可选)对于 S3 存储桶拥有者,请输入拥有 S3 存储桶的账户的 AWS 账户标识符。这允许将报告数据导出到 Amazon S3 桶,该存储桶由运行构建的账户以外的账户拥有。
-
对于路径前缀,请输入要上传测试结果的 S3 存储桶中的路径。
-
选择将测试结果数据压缩为 zip 文件以便压缩原始测试结果数据文件。
-
展开其他配置以显示加密选项。选择以下操作之一:
-
默认 AWS 托管密钥,以针对 Amazon S3 使用 AWS 托管式密钥。有关更多信息,请参阅《AWS Key Management Service 用户指南》中的客户托管 CMK。这是默认加密选项。
-
选择自定义密钥将使用您创建和配置的客户托管密钥。对于AWS KMS 加密密钥,请输入加密密钥的 ARN。其格式为
arn:aws:kms:
。有关更多信息,请参阅《AWS Key Management Service 用户指南》中的创建 KMS 密钥。<region-id>
:<aws-account-id>
:key/<key-id>
-
禁用构件加密将禁用加密。如果要共享测试结果或将其发布到静态网站,则可以选择此选项。(动态网站可以运行代码来解密测试结果。)
有关静态数据加密的更多信息,请参阅数据加密。
-
注意
项目中指定的 CodeBuild 服务角色用于获得上传到 S3 存储桶的权限。
-
-
选择创建报告组。
创建报告组(CLI)
按照以下过程使用 AWS 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" } ] } }-
将
<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
创建报告组(AWS CloudFormation)
按照以下说明,使用 AWS CloudFormation 模板创建报告组
使用 AWS CloudFormation 模板创建报告组
您可以使用 AWS CloudFormation 模板文件创建和预配置报告组。有关更多信息,请参阅《AWS CloudFormation 用户指南》。
以下 AWS CloudFormation YAML 模板可创建一个不会导出原始测试结果文件的报告组。
Resources: CodeBuildReportGroup: Type: AWS::CodeBuild::ReportGroup Properties: Name:
my-report-group-name
Type: TEST ExportConfig: ExportConfigType: NO_EXPORT
以下 AWS 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 存储桶的权限。