Combine automáticamente informes de compilación individuales
En compilaciones por lotes de distribución ramificada, AWS CodeBuild admite la combinación automática de informes de compilación individuales en un informe consolidado a nivel de lote. Esta característica proporciona una vista completa de los resultados de las pruebas y cobertura de código en todas las compilaciones de un lote.
Funcionamiento
Al ejecutar compilaciones de fanout por lotes, cada compilación individual genera informes de prueba. A continuación, CodeBuild consolida automáticamente informes idénticos de diferentes compilaciones en un informe unificado, que se adjunta a la compilación por lotes. Se puede acceder fácilmente a estos informes consolidados a través del reportArns campo de la API BatchGetBuildBatches y también se pueden ver en la pestaña Informes de la consola. Esta capacidad de combinación se extiende también a los informes de detección automática.
Se crean informes consolidados en grupos de informes que se especifican en la buildspec o que CodeBuild detecta automáticamente. Puede analizar tendencias de los informes combinados directamente en estos grupos de informes, lo que proporciona información valiosa sobre el rendimiento general de la compilación y las métricas de calidad en compilaciones históricas del mismo proyecto de compilación por lotes.
Para cada compilación individual del lote, CodeBuild crea automáticamente grupos de informes independientes. Estos siguen una convención de nomenclatura específica que combina el nombre del grupo de informes de creación por lotes con un sufijo de BuildFanoutShard<shard_number>, donde el shard_number representa el número de partición en el que se crea el grupo de informes. Esta organización le permite realizar un seguimiento y analizar tendencias tanto en el nivel de compilación consolidada como individual, lo que proporciona flexibilidad a la hora de monitorear y evaluar sus procesos de compilación.
El informe de creación por lotes sigue la misma estructura que los informes de compilación individuales. Los siguientes campos clave de la pestaña Informe son específicos de los informes de compilación por lotes:
- Estado de informe de compilación por lotes
-
El estado de los informes de creación por lotes sigue reglas específicas según el tipo de informe:
-
Informes de pruebas:
-
Correcto: el estado se establece como correcto cuando todos los informes de compilación individuales se han realizado correctamente.
-
Error: el estado se establece como fallido si ha fallado algún informe de compilación individual.
-
Incompleto: el estado se marca como incompleto si falta algún informe de compilación individual o tiene un estado incompleto.
-
-
Informes de cobertura de código:
-
Completo: el estado se establece como completo cuando se han completado todos los informes de compilación individuales.
-
Error: el estado se establece como fallido si ha fallado algún informe de compilación individual.
-
Incompleto: el estado se marca como incompleto si falta algún informe de compilación individual o tiene un estado incompleto.
-
-
- Resumen de pruebas
-
El informe de prueba combinado consolida los siguientes campos de todos los informes de compilación individuales:
-
duration-in-nano-seconds: tiempo máximo de duración de las pruebas en nanosegundos entre todos los informes de compilación individuales.
-
total: recuento combinado de todos los casos de prueba, sumando el número total de pruebas de cada compilación.
-
status-counts: proporciona una vista consolidada de estados de las pruebas, como superadas, fallidas u omitidas, que se calcula sumando el recuento de cada tipo de estado en todas las compilaciones individuales.
-
- Resumen de cobertura de código
-
El informe combinado de cobertura de código combina campos de todas las compilaciones individuales utilizando los siguientes cálculos:
-
branches-covered: suma de todas las ramificaciones cubiertas de informes individuales.
-
branches-missed: suma de todas las ramificaciones omitidas de informes individuales.
-
branch-coverage-percentage:
(Total covered branches / Total branches) * 100 -
lines-covered: suma de todas las líneas cubiertas de informes individuales.
-
lines-missed: suma de todas las líneas omitidas de informes individuales.
-
lines-coverage-percentage:
(Total covered lines / Total lines) * 100
-
- ID de ejecución
-
ARN de compilación por lotes.
- Casos de prueba
-
El informe combinado contiene una lista consolidada de todos los casos de prueba de compilaciones individuales, a la que se puede acceder mediante la API DescribeTestCases y el informe de compilación por lotes de la consola.
- Coberturas de código
-
El informe combinado de cobertura de código proporciona información consolidada sobre la cobertura de líneas y ramificaciones de cada archivo en todas las compilaciones individuales, y se puede acceder a él mediante la API DescribeCodeCoverages y el informe de compilación por lotes de la consola. Nota: En el caso de los archivos cubiertos por varios archivos de prueba distribuidos en diferentes particiones, el informe combinado sigue estos criterios de selección:
-
La selección principal se basa en la cobertura de línea más alta entre las particiones.
-
Si la cobertura de línea es igual en varias particiones, se seleccione la partición con mayor cobertura de ramificación.
-