

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Codecov AWS CodeBuild で を使用する
<a name="codecov-integration"></a>

Codecov は、コードのテストカバレッジを測定するツールです。Codecov は、コード内のどのメソッドとステートメントがテストされていないかを識別します。その結果に基づいて、コードの品質を向上させるためのテストの記述先を判断します。Codecov は、 CodeBuild でサポートされているソースリポジトリのうち、3 つ (GitHub、GitHub Enterprise Server、Bitbucket) でサポートされています。ビルドプロジェクトで GitHub Enterprise Server を使用する場合は、Codecov Enterprise を使用する必要があります。

 Codecov を統合した CodeBuild プロジェクトのビルドを実行すると、リポジトリ内のコードを分析する Codecov レポートが Codecov にアップロードされます。ビルドログには、レポートへのリンクが含まれています。次のサンプルでは、Python および Java ビルドプロジェクトを Codecov と統合する方法を示します。Codecov でサポートされている言語のリストについては、[Codecov Supported Languages](https://docs.codecov.io/docs/supported-languages) を参照してください。

## Codecov とビルドプロジェクトの統合
<a name="integrate-codecov"></a>

Codecov をビルドプロジェクトに統合するには、次の手順に従います。

**Codecov とビルドプロジェクトを統合するには**

1. [https://codecov.io/signup](https://codecov.io/signup) に移動し、GitHub または Bitbucket ソースリポジトリにサインアップします。GitHub Enterprise を使用する場合は、Codecov ウェブサイトの「[Codecov Enterprise](https://codecov.io/enterprise)」を参照してください。

1.  Codecov に、カバレッジ対象のリポジトリを追加します。

1.  トークン情報が表示されたら、[**Copy**] を選択します。  
![\[トークン情報が表示されます。\]](http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/images/codecov-token.png)

1.  コピーしたトークンを、`CODECOV_TOKEN` という名前の環境変数としてビルドプロジェクトに追加します。詳細については、「[ビルドプロジェクトの設定の変更 (コンソール)](change-project.md#change-project-console)」を参照してください。

1.  リポジトリ内に `my_script.sh` という名前のテキストファイルを作成します。このファイルに次の内容を入力します。

   ```
   #/bin/bash
   bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN
   ```

1.  ビルドプロジェクトの用途に応じて [**Python**] タブまたは [**Java**] タブを選択し、次の手順に従います。

------
#### [ Java ]

   1.  次の JaCoCo プラグインをリポジトリ内の `pom.xml` に追加します。

      ```
      <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>
      ```

   1.  buildspec ファイルに次のコマンドを入力します。詳細については、「[buildspec の構文](build-spec-ref.md#build-spec-ref-syntax)」を参照してください。

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

------
#### [ Python ]

    buildspec ファイルに次のコマンドを入力します。詳細については、「[buildspec の構文](build-spec-ref.md#build-spec-ref-syntax)」を参照してください。

   ```
   build:
     - pip install coverage
     - coverage run -m unittest discover
   postbuild:
     - echo 'Connect to CodeCov'
     - bash my_script.sh
   ```

------

1.  ビルドプロジェクトのビルドを実行します。プロジェクト用に生成された Codecov レポートへのリンクがビルドログに表示されます。リンクを使用して Codecov レポートを表示します。詳細については、「[AWS CodeBuild ビルドを手動で実行する](run-build.md)」および「[を使用した AWS CodeBuild API コールのログ記録 AWS CloudTrail](cloudtrail.md)」を参照してください。ビルドログの Codecov 情報は、次のように表示されます。

   ```
   [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
   ```

    レポートは次のように表示されます。  
![\[サンプルレポートです。\]](http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/images/codecov-report.png)