AWS CLIcodebuild delete-report命令详解删除 CodeBuild 测试与代码覆盖率报告【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli导读本文以 aws-cli 仓库中的aws codebuild delete-report官方示例文档为主体深入讲解如何通过 AWS CLI 删除 CodeBuild 构建过程中产生的测试报告与代码覆盖率报告。你将掌握报告 ARN 的完整结构、获取报告 ARN 的三种实用方法、delete-report命令的调用细节与预期输出并结合仓库内 CodeBuild 服务模型源码理解该命令底层的 API 契约与异常行为从而在实际 CI/CD 流程中安全、精准地清理过期报告。命令概览从一条示例说起仓库中的官方示例文档 delete-report.rst 给出了该命令最核心的用法aws codebuild delete-report \ --arn arn:aws:codebuild:region-ID:account-ID:report/report-group-name:report-ID要点提炼该命令只有一个必填参数--arn即待删除报告的 Amazon Resource Name命令执行成功后不产生任何输出This command produces no output报告删除后无法恢复因此示例文档特意使用region-ID、account-ID等占位符提醒用户替换为自己的真实环境值。在 aws-cli 仓库中与该命令同属一组完整报告生命周期的示例还包括 batch-get-reports.rst批量查询报告详情、list-reports.rst列出报告、list-reports-for-report-group.rst按报告组列出报告以及 delete-report-group.rst删除整个报告组建议组合使用以构建完整的报告管理流程。报告 ARN 结构拆解要正确执行delete-report前提是拿到准确的报告 ARN。结合 batch-get-reports.rst 中展示的真实响应结构CodeBuild 报告 ARN 的格式为arn:aws:codebuild:region-ID:account-ID:report/report-group-name:report-ID各段含义如下表所示ARN 段含义说明arn:aws:codebuild服务标识固定前缀region-ID区域标识报告所在 AWS 区域如us-east-1account-ID账户标识您的 AWS 账户 ID12 位数字report资源类型表示这是一个报告区别于report-groupreport-group-name报告组名称报告所属的报告组Report Group名称report-ID报告标识单次构建运行产生的唯一报告 ID注意区分删除单个报告使用report/前缀的 ARN本文主题而删除整个报告组则使用report-group/前缀的 ARN见 delete-report-group.rst 中的示例aws codebuild delete-report-group \ --arn arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name如何获取待删除的报告 ARNdelete-report本身只接受 ARN因此实际使用前需要先通过查询类命令拿到 ARN。有三种常见途径1. 使用list-reports列出报告list-reports可以分页列出账户下的报告配合分页参数--max-results与--next-token使用。从仓库的分页配置 paginators-1.json 可以看到ListReports以nextToken作为输入输出令牌、以reports作为结果键说明该命令支持自动翻页。2. 使用list-reports-for-report-group按组筛选如果只关心某个报告组内的报告可以指定--report-group-arn缩小范围aws codebuild list-reports-for-report-group \ --report-group-arn arn:aws:codebuild:region-ID:account-ID:report-group/report-group-name3. 使用batch-get-reports反向确认对于已经拿到的 ARN可用batch-get-reports --report-arns批量查询其详情确认报告类型、状态与过期时间后再删除避免误删。仓库示例 batch-get-reports.rst 展示的返回字段包括status、created、expired、testSummary等可用于删除前的核验。删除报告确认 ARN 无误后执行aws codebuild delete-report \ --arn arn:aws:codebuild:us-east-1:123456789012:report/my-report-group:my-report-id执行结果命令执行成功时返回空输出无任何 JSON 或文本若传入的 ARN 非法如格式错误、为空或长度小于 1服务端将抛出InvalidInputException输入值无效。源码级解析服务模型中的 DeleteReport 契约在仓库的服务定义文件 service-2.json 中可以查到DeleteReport操作的完整 API 契约这为理解 CLI 行为提供了底层依据操作定义要点属性值说明HTTP 方法POST所有 CodeBuild API 均通过 POST 调用请求 URI/请求路径为根路径参数走请求体输入形状DeleteReportInput请求参数结构输出形状DeleteReportOutput响应结构成员为空即无输出错误列表InvalidInputException唯一声明的异常输入形状DeleteReportInputarn为唯一成员且被标记为required必填arn的类型为NonEmptyString其形状约束为min: 1即最小长度必须为 1不允许为空字符串——这也是为什么--arn参数不能省略或传空值从模型可推断CLI 层会把--arn的值序列化进请求体由 AWS 侧校验 ARN 格式的合法性。输出形状DeleteReportOutput该结构members为空字典从源码结构看服务端确认删除后返回空响应因此 CLI 命令在成功时不会有任何输出这与示例文档中 This command produces no output 的描述完全吻合。可以使用 shell 的退出码echo $?返回 0来判断命令是否成功。错误处理InvalidInputException在模型中声明为exception: true描述为 The input value that was provided is not valid.提供的输入值无效。当--arn格式不正确或指向不存在的资源时命令会以非零退出码失败并输出该错误信息。了解报告本身删除前需要知道的事为了更好地判断哪些报告值得删除、何时删除可以结合Report数据结构同样位于 service-2.json理解报告的生命周期特征字段含义对删除策略的影响type报告类型取值为TEST测试报告或CODE_COVERAGE代码覆盖率报告可按类型决定保留策略executionId生成该报告的构建运行 ARN可按构建任务追溯来源status报告状态如FAILED等可优先清理失败/过期报告created报告创建时间配合expired判断报告年龄expired报告过期时间模型文档明确报告在创建 30 天后过期过期的报告将无法在 CodeBuild 控制台查看两条实践建议过期报告不需要手动清理根据模型文档报告创建 30 天后自动过期并不可见delete-report主要用于主动清理仍处于有效期内的报告例如测试数据量大、需要释放存储配额或因合规要求立即清除敏感测试结果。删除是最终操作delete-report无输出且不可恢复建议在删除前先通过batch-get-reports核验 ARN 与报告内容避免误删仍需要的测试证据。完整实战流程示例结合上述内容一个完整的查询 → 核验 → 删除闭环如下# 1. 列出指定报告组下的报告 ARN aws codebuild list-reports-for-report-group \ --report-group-arn arn:aws:codebuild:us-east-1:123456789012:report-group/my-report-group # 2. 核验报告详情确认类型、状态、过期时间 aws codebuild batch-get-reports \ --report-arns arn:aws:codebuild:us-east-1:123456789012:report/my-report-group:report-001 # 3. 删除确认无误的报告 aws codebuild delete-report \ --arn arn:aws:codebuild:us-east-1:123456789012:report/my-report-group:report-001 # 4. 校验退出码0 表示删除成功 echo $?小结aws codebuild delete-report是 CodeBuild 报告生命周期管理中的终点操作其用法简洁——仅需一个格式严格的报告 ARN成功后无输出。通过本文可以掌握报告 ARN 的report/与report-group/前缀区分、三种获取 ARN 的查询命令、基于 service-2.json 的服务端校验规则arn必填且最小长度 1、InvalidInputException的失败场景以及报告 30 天自动过期的生命周期特征。配合 delete-report.rst、batch-get-reports.rst 等仓库示例即可在真实 CI/CD 流水线中安全地管理与清理 CodeBuild 测试与覆盖率报告。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考