コードカバレッジ

ビルド完了後、コードカバレッジ率がUI上に表示されるようになり、コードカバレッジデータがアップロードされます。

Coverage in build detail page

現在、カバレッジ bookend では SonarQube をサポートしています。どのカバレッジプラグインがサポートされているかは Screwdriver クラスタ管理者に確認してください。

SonarQube

Sonar properties を sonar-project.properties ファイルや、screwdriver.yaml 内に $SD_SONAR_OPTS の環境変数として設定することができます。sonar.sources のプロパティは必須で、ソースのパスを指定します。

sonar-project.properties

SonarQube を使用するために、sonar-project.properties ファイルをソースコードのルートに追加して、そこに設定を追加していきます。

以下は Javascript examplesonar-project.properties の例です:

sonar.sources=index.js
sonar.javascript.lcov.reportPaths=artifacts/coverage/lcov.info

reportPath プロパティは使用する言語によって変わります。正しい指定の仕方は SonarQube documentation を確認してください。

$SD_SONAR_OPTS

設定を $SD_SONAR_OPTS の環境変数で指定することも出来ます。

screwdriver.yaml の例:

shared:
  environment:
    SD_SONAR_OPTS: '-Dsonar.sources=lib -Dsonar.javascript.lcov.reportPaths=artifacts/coverage/lcov.info'
jobs:
  main:
    requires: [~pr, ~commit]
    image: node:8
    steps:
      - install: npm install
      - test: npm test

注意

関連リンク

Github pull request decoration

ScrewdriverのクラスタがSonar Enterpriseを利用している場合、GitHubでのチェックにPull Request decorationを利用することができます。この機能が有効な場合、リポジトリにSonar PR Checks用のGithub appを追加することで利用することが出来ます。サポート状況の詳細はScrewdriverクラスタ管理者に確認してください。