Verwendung von AWS CodeBuild mit Codecov - AWS CodeBuild

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwendung von AWS CodeBuild mit Codecov

Codecov ist ein Tool, das den Testumfang Ihres Codes misst. Codecov ermittelt, welche Methoden und Anweisungen in Ihrem Code nicht getestet werden. Verwenden Sie die Ergebnisse, um zu bestimmen, wo Tests geschrieben werden sollen, um die Qualität Ihres Codes zu verbessern. Codecov steht für drei der Quellrepositorys zur Verfügung, die von CodeBuild unterstützt werden: GitHub, GitHub Enterprise Server und Bitbucket. Wenn für Ihr Build-Projekt GitHub Enterprise Server verwendet wird, müssen Sie Codecov Enterprise verwenden.

Wenn Sie einen Build eines CoBuild-Projekts ausführen, das in Codecov integriert ist, werden Codecov-Berichte, die den Code in Ihrem Repository analysieren, in Codecov hochgeladen. Die Build-Protokolle enthalten einen Link zu den Berichten. Dieses Beispiel zeigt Ihnen, wie Sie ein Python- und ein Java-Build-Projekt in Codecov integrieren. Eine Liste der von Codecov unterstützten Sprachen finden Sie auf der Codecov-Website unter Codecov Supported Languages.

Integrieren von Codecov in ein Build-Projekt

So integrieren Sie Codecov in Ihr Build-Projekt
  1. Gehen Sie zu https://codecov.io/signup und melden Sie sich für ein GitHub- oder Bitbucket-Quell-Repository an. Wenn Sie GitHub Enterprise verwenden, finden Sie auf der Codecov-Website Informationen unter Codecov Enterprise.

  2. Fügen Sie in Codecov das Repository hinzu, das mit einbezogen werden soll.

  3. Wenn Token-Informationen angezeigt werden, wählen Sie Copy (Kopieren).

  4. Fügen Sie das kopierte Token als eine Umgebungsvariable mit dem Namen CODECOV_TOKEN zu Ihrem Build-Projekt hinzu. Weitere Informationen finden Sie unter Ändern der Einstellungen eines Build-Projekts (Konsole).

  5. Erstellen Sie in Ihrem Repository eine Textdatei mit dem Namen my_script.sh. Kopieren Sie Folgendes in die Datei:

    #/bin/bash bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN
  6. Wählen Sie die Registerkarte Python oder Java, je nachdem, was für Ihr Build-Projekt verwendet wird, und befolgen Sie diese Schritten.

    Java
    1. Fügen Sie in Ihrem Repository das folgende JaCoCo-Plugin pom.xml hinzu.

      <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. Geben Sie die folgenden Befehle in die Build-Spezifikationsdatei ein. Weitere Informationen finden Sie unter Syntax der Build-Spezifikation.

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

    Geben Sie die folgenden Befehle in die Build-Spezifikationsdatei ein. Weitere Informationen finden Sie unter Syntax der Build-Spezifikation.

    build: - pip install coverage - coverage run -m unittest discover postbuild: - echo 'Connect to CodeCov' - bash my_script.sh
  7. Führen Sie einen Build Ihres Build-Projekts aus. Ein Link zu den für Ihr Projekt generierten Codecov-Berichten wird in Ihren Build-Protokollen angezeigt. Verwenden Sie den Link, um sich die Codecov-Berichte anzeigen zu lassen. Weitere Informationen finden Sie unter Ausführen eines Build in AWS CodeBuild und Protokollierung von AWS CodeBuild-API-Aufrufen mit AWS CloudTrail. Die Codecov-Informationen in den Build-Protokollen sehen wie folgt aus:

    [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

    Die Berichte sehen wie folgt aus: