Codecov es una herramienta que mide la cobertura de las pruebas del código. Codecov identifica qué métodos e instrucciones del código no se han comprobado. Use los resultados para determinar dónde deben escribirse pruebas para mejorar la calidad del código. Codecov está disponible en tres de los repositorios de origen admitidos por CodeBuild: GitHub, GitHub Enterprise Server y Bitbucket. Si el proyecto de compilación usa GitHub Enterprise Server, debe utilizar Codecov Enterprise.
Cuando se ejecuta una compilación de un proyecto de CodeBuild integrado con Codecov, los informes de Codecov que analiza el código del repositorio se cargan en Codecov. Los registros de compilación incluyen un enlace a los informes. En este ejemplo, se muestra cómo se integra un proyecto de compilación de Python y Java con Codecov. Para ver una lista de los idiomas admitidos en Codecov, consulte Codecov Supported Languages
Integrar Codecov en un proyecto de compilación
Utilice el siguiente procedimiento para integrar Codecov en un proyecto de compilación.
Para integrar Codecov en un proyecto de compilación
-
Vaya a https://codecov.io/signup
y regístrese en un repositorio de origen de GitHub o Bitbucket. Si usa GitHub Enterprise, consulte Codecov Enterprise en el sitio web de Codecov. -
En Codecov, agregue el repositorio para el que desea cobertura.
-
Cuando se muestre la información del token, elija Copy (Copiar).
-
Agregue el token copiado como una variable de entorno llamada
CODECOV_TOKEN
al proyecto de compilación. Para obtener más información, consulte Cambiar la configuración de un proyecto de compilación (consola). -
Cree un archivo de texto llamado
my_script.sh
en el repositorio. Copie lo siguiente en el archivo:#/bin/bash bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN
-
Elija la pestaña Python o Java según corresponda en función de los usos del proyecto de compilación y siga estos pasos.
-
Agregue el siguiente complemento de JacoCo a
pom.xml
en el repositorio.<build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.2</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
-
Especifique los siguientes comandos en el archivo buildspec. Para obtener más información, consulte Sintaxis de buildspec.
build: - mvn test -f pom.xml -fn postbuild: - echo 'Connect to CodeCov' - bash my_script.sh
-
Ejecute una compilación del proyecto. En los registros de compilación aparece un enlace a los informes de Codecov generados para el proyecto. Utilice este enlace para ver los informes de Codecov. Para obtener más información, consulte Ejecución de compilaciones de AWS CodeBuild de forma manual y Registro de llamadas a la API de AWS CodeBuild con AWS CloudTrail. La información de Codecov en los registros de compilación tiene el siguiente aspecto:
[Container] 2020/03/09 16:31:04 Running command bash my_script.sh _____ _ / ____| | | | | ___ __| | ___ ___ _____ __ | | / _ \ / _` |/ _ \/ __/ _ \ \ / / | |___| (_) | (_| | __/ (_| (_) \ V / \_____\___/ \__,_|\___|\___\___/ \_/ Bash-20200303-bc4d7e6 ·[0;90m==>·[0m AWS CodeBuild detected.
... The full list of Codecov log entries has been omitted for brevity ...
· ·[0;32m->·[0m View reports at ·[0;36mhttps://codecov.io/github/user/test_py/commit/commit-id
·[0m [Container] 2020/03/09 16:31:07 Phase complete: POST_BUILD State: SUCCEEDEDLos informes tienen el siguiente aspecto: