Utilisation AWS CodeBuild avec Codecov - AWS CodeBuild

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation AWS CodeBuild avec Codecov

Codecov est un outil qui mesure la couverture de test de votre code. Codecov identifie quelles méthodes et instructions de votre code ne sont pas testées. Utilisez les résultats pour déterminer à quel niveau il pourrait être utile de créer des tests pour améliorer la qualité de votre code. Codecov est disponible pour trois des référentiels sources pris en charge par CodeBuild : GitHub Enterprise Server GitHub et Bitbucket. Si votre projet de build utilise GitHub Enterprise Server, vous devez utiliser Codecov Enterprise.

Lorsque vous exécutez la version d'un CodeBuild projet intégré à Codecov, les rapports Codecov qui analysent le code de votre référentiel sont téléchargés vers Codecov. Les journaux de génération comprennent un lien vers ces rapports. Cet exemple montre comment intégrer un projet de génération Python et Java avec Codecov. Pour obtenir la liste des langues prises en charge par Codecov, veuillez consulter Langues prises en charge par Codecov sur le site web de Codecov.

Intégration de Codecov dans un projet de génération

Utilisez la procédure suivante pour intégrer Codecov dans un projet de construction.

Pour intégrer Codecov dans votre projet de génération
  1. Accédez à https://codecov.io/signup et inscrivez-vous à un dépôt source GitHub ou à un dépôt de données Bitbucket. Si vous utilisez GitHub Enterprise, consultez Codecov Enterprise sur le site Web de Codecov.

  2. Dans Codecov, ajoutez le référentiel pour lequel vous souhaitez couvrir le code.

  3. Lorsque les informations de jeton sont affichées, choisissez Copy (Copier).

    Les informations du jeton s'affichent.
  4. Ajoutez le jeton copié en tant que variable d'environnement CODECOV_TOKEN à votre projet de génération. Pour de plus amples informations, veuillez consulter Modification des paramètres d'un projet de génération (console).

  5. Créez un fichier texte nommé my_script.sh dans votre référentiel. Copiez ce qui suit dans ce fichier :

    #/bin/bash bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN
  6. Choisissez l'onglet Python ou Java selon les utilisations de votre projet de génération, puis procédez comme suit.

    Java
    1. Ajoutez le JaCoCo plugin suivant pom.xml dans votre dépôt.

      <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. Entrez les commandes suivantes dans le fichier buildspec. Pour de plus amples informations, veuillez consulter Syntaxe d'un fichier buildspec.

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

    Entrez les commandes suivantes dans le fichier buildspec. Pour de plus amples informations, veuillez consulter Syntaxe d'un fichier buildspec.

    build: - pip install coverage - coverage run -m unittest discover postbuild: - echo 'Connect to CodeCov' - bash my_script.sh
  7. Exécutez une version du projet de génération. Un lien vers les rapports Codecov générés pour votre projet apparaît dans les journaux de génération. Utilisez ce lien pour afficher les rapports Codecov. Pour plus d’informations, consultez Exécuter AWS CodeBuild les builds manuellement et Enregistrez AWS CodeBuild API les appels avec AWS CloudTrail. Les informations Codecov dans les journaux de génération ressemblent à ce qui suit :

    [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

    Les rapports se présentent comme suit :

    Les exemples de rapports.