Uso AWS CodeBuild con Codecov - AWS CodeBuild

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso AWS CodeBuild con Codecov

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 para tres de los repositorios de origen compatibles con CodeBuild: GitHub Enterprise Server y GitHub Bitbucket. Si tu proyecto de compilación usa GitHub Enterprise Server, debes usar Codecov Enterprise.

Cuando ejecutas la compilación de un CodeBuild proyecto que está integrado con Codecov, los informes de Codecov que analizan el código de tu 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 en el sitio web de Codecov.

Integrar Codecov en un proyecto de compilación

Usa el siguiente procedimiento para integrar Codecov en un proyecto de compilación.

Para integrar Codecov en un proyecto de compilación
  1. Ve a https://codecov.io/signup e inscríbete en un repositorio de código fuente GitHub o en Bitbucket. Si utilizas GitHub Enterprise, consulta Codecov Enterprise en el sitio web de Codecov.

  2. En Codecov, agregue el repositorio para el que desea cobertura.

  3. Cuando se muestre la información del token, elija Copy (Copiar).

    Se muestra la información del token.
  4. 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).

  5. 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
  6. 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.

    Java
    1. Agrega el siguiente JaCoCo complemento pom.xml a tu 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>
    2. 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
    Python

    Especifique los siguientes comandos en el archivo buildspec. Para obtener más información, consulte Sintaxis de buildspec.

    build: - pip install coverage - coverage run -m unittest discover postbuild: - echo 'Connect to CodeCov' - bash my_script.sh
  7. 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 Ejecute AWS CodeBuild compilaciones manualmente y AWS CodeBuild APIRegistra llamadas 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: SUCCEEDED

    Los informes tienen el siguiente aspecto:

    Los informes de muestra.