Uso AWS CodeBuild con Codecov - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Uso AWS CodeBuild con Codecov

Codecov è uno strumento che misura la copertura del test del tuo codice. Codecov identifica quali metodi e istruzioni del codice non sono stati testati. Utilizza i risultati per determinare dove scrivere i test per migliorare la qualità del codice. Codecov è disponibile per tre dei repository di origine supportati da CodeBuild: GitHub Enterprise Server e GitHub Bitbucket. Se il progetto di compilazione utilizza GitHub Enterprise Server, è necessario utilizzare Codecov Enterprise.

Quando esegui una build di un CodeBuild progetto integrato con Codecov, i report di Codecov che le analisi del codice nel tuo repository vengono caricate su Codecov. I log di compilazione includono un collegamento ai report. Questo esempio mostra come integrare un progetto di compilazione Python e Java con Codecov. Per l'elenco dei linguaggi supportati da Codecov, consulta la pagina con i linguaggi supportati da Codecov sul sito Web Codecov.

Integrazione di Codecov in un progetto di compilazione

Usa la seguente procedura per integrare Codecov in un progetto di compilazione.

Per integrare Codecov con il progetto di compilazione
  1. Vai a https://codecov.io/signup e iscriviti a un repository di sorgenti GitHub o Bitbucket. Se usi GitHub Enterprise, consulta Codecov Enterprise sul sito web di Codecov.

  2. In Codecov, aggiungere il repository per il quale si desidera la copertura.

  3. Quando vengono visualizzate le informazioni sui token, scegliere Copy (Copia).

    Vengono visualizzate le informazioni sul token.
  4. Aggiungere il token copiato come variabile di ambiente denominata CODECOV_TOKEN al progetto di compilazione. Per ulteriori informazioni, consulta Modifica delle impostazioni di un progetto di compilazione (console).

  5. Creare un file di testo denominato my_script.sh nel repository. Copiare quanto segue nel file:

    #/bin/bash bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN
  6. Scegliere la scheda Python o Java come appropriato per il progetto di compilazione e seguire questi passaggi.

    Java
    1. Aggiungi il seguente JaCoCo plugin pom.xml nel tuo repository.

      <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. Inserire i seguenti comandi nel file buildspec. Per ulteriori informazioni, consulta Sintassi buildspec.

      build: - mvn test -f pom.xml -fn postbuild: - echo 'Connect to CodeCov' - bash my_script.sh
    Python

    Inserire i seguenti comandi nel file buildspec. Per ulteriori informazioni, consulta Sintassi buildspec.

    build: - pip install coverage - coverage run -m unittest discover postbuild: - echo 'Connect to CodeCov' - bash my_script.sh
  7. Eseguire una compilazione del progetto di compilazione. Un collegamento ai report Codecov generati per il progetto viene visualizzato nei log di compilazione. Utilizzare il collegamento per visualizzare i report Codecov. Per ulteriori informazioni, consulta Esegui AWS CodeBuild le build manualmente e Registra AWS CodeBuild API le chiamate con AWS CloudTrail. Le informazioni di Codecov nei log di compilazione sono le seguenti:

    [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

    I report sono come segue:

    I report di esempio.