

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 개별 빌드 보고서 자동 병합
<a name="parallel-test-auto-merge"></a>

팬아웃 배치 빌드에서는 개별 빌드 보고서를 통합 배치 수준 보고서로 자동 병합할 수 있도록 AWS CodeBuild 지원합니다. 이 기능은 배치 내의 모든 빌드에서 테스트 결과 및 코드 적용 범위를 포괄적으로 보여줍니다.

## 작동 방식
<a name="parallel-test-auto-merge.how"></a>

`fanout` 배치 빌드를 실행할 때 각 개별 빌드는 [테스트 보고서](test-reporting.md)를 생성합니다. 그런 다음 CodeBuild는 서로 다른 빌드의 동일한 보고서를 배치 빌드에 연결된 통합 보고서로 자동으로 통합합니다. 이러한 통합 보고서는 [BatchGetBuildBatches](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_BatchGetBuildBatches.html#CodeBuild-BatchGetBuildBatches-response-buildBatches) API의 `reportArns` 필드를 통해 쉽게 액세스할 수 있으며 콘솔의 **보고서** 탭에서도 볼 수 있습니다. 이 병합 기능은 자동 검색된 보고서로도 확장됩니다.

통합 보고서는 buildspec에 지정되거나 CodeBuild에서 자동으로 검색하는 [보고서 그룹](test-report-group.md)에 생성됩니다. 이러한 보고서 그룹에서 바로 병합된 보고서의 추세를 분석하여 동일한 빌드 배치 프로젝트의 과거 빌드에 걸쳐 전체 빌드 성능 및 품질 지표에 대한 귀중한 인사이트를 제공할 수 있습니다.

배치 내의 각 개별 빌드에 대해 CodeBuild는 자동으로 별도의 보고서 그룹을 생성합니다. 이는 특정 명명 규칙을 따르며 배치 빌드 보고서 그룹 이름을 `BuildFanoutShard<shard_number>` 접미사와 결합합니다. 여기서 `shard_number`는 보고서 그룹이 생성되는 샤드의 수를 나타냅니다. 이 조직을 사용하면 통합 및 개별 빌드 수준 모두에서 추세를 추적하고 분석하여 빌드 프로세스를 모니터링하고 평가하는 방법에 유연성을 더할 수 있습니다.

배치 빌드 보고서는 [개별 빌드 보고서](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_Report.html)와 동일한 구조를 따릅니다. **보고서** 탭의 다음 키 필드는 배치 빌드 보고서에만 해당됩니다.

**배치 빌드 보고서 상태**  
배치 빌드 보고서의 상태는 보고서 유형에 따라 특정 규칙을 따릅니다.  
+ 테스트 보고서:
  + 성공: 모든 개별 빌드 보고서가 성공하면 상태가 성공으로 설정됩니다.
  + 실패: 개별 빌드 보고서가 실패한 경우 상태가 실패로 설정됩니다.
  + 미완료: 개별 빌드 보고서가 누락되었거나 미완료 상태인 경우 상태가 미완료로 표시됩니다.
+ 코드 적용 범위 보고서:
  + 완료: 모든 개별 빌드 보고서가 완료되면 상태가 완료로 설정됩니다.
  + 실패: 개별 빌드 보고서가 실패한 경우 상태가 실패로 설정됩니다.
  + 미완료: 개별 빌드 보고서가 누락되었거나 미완료 상태인 경우 상태가 미완료로 표시됩니다.

**테스트 요약**  
병합된 테스트 보고서는 모든 개별 빌드 보고서의 다음 필드를 통합합니다.  
+ duration-in-nano-seconds: 모든 개별 빌드 보고서에서 나노초 단위의 최대 테스트 기간입니다.
+ total: 각 빌드의 총 테스트 수를 합산한 모든 테스트 사례의 총 수입니다.
+ status-counts: 모든 개별 빌드에서 각 상태 유형의 수를 집계하여 계산된 통과, 실패, 건너뜀 등 테스트 상태에 대한 통합 보기를 제공합니다.

**코드 적용 범위 요약**  
병합된 코드 적용 범위 보고서는 다음 계산을 사용하여 모든 개별 빌드의 필드를 결합합니다.  
+ branchs-covered: 개별 보고서에서 다루는 모든 브랜치의 합계입니다.
+ branches-missed: 개별 보고서에서 누락된 모든 브랜치의 합계입니다.
+ branch-coverage-percentage: `(Total covered branches / Total branches) * 100`
+ lines-covered: 개별 보고서에서 다루는 모든 줄의 합계입니다.
+ lines-missed: 개별 보고서에서 누락된 모든 줄의 합계입니다.
+ lines-coverage-percentage: `(Total covered lines / Total lines) * 100`

**실행 ID**  
배치 빌드 ARN입니다.

**테스트 사례**  
병합된 보고서에는 콘솔의 [DescribeTestCases](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_DescribeTestCases.html) API와 배치 빌드 보고서를 통해 액세스할 수 있는 개별 빌드의 모든 테스트 사례에 대한 통합 목록이 포함되어 있습니다.

**코드 적용 범위**  
병합된 코드 적용 범위 보고서는 콘솔의 [DescribeCodeCoverages](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_DescribeCodeCoverages.html) API와 배치 빌드 보고서를 통해 액세스할 수 있는 모든 개별 빌드의 각 파일에 대한 통합 줄 및 브랜치 적용 범위 정보를 제공합니다. 참고: 여러 샤드에 분산된 다양한 테스트 파일이 포함된 파일의 경우 병합된 보고서는 다음 선택 기준을 사용합니다.  

1. 기본 선택은 샤드 중에서 가장 높은 줄 적용 범위를 기준으로 합니다.

1. 여러 샤드에서 줄 적용 범위가 같으면 브랜치 적용 범위가 가장 높은 샤드가 선택됩니다.