私は自分の仕事を単一のHudsonマシンから複数のスレーブJenkins環境に移行しましたが、JaCoCoの適用範囲はもう機能しません。"プロジェクトカバレッジは0%に設定されています" - JaCoCoとSonar、AntとJenkinsで
WORKING(旧): ハドソン2.0.1、 ジェンキンスソナープラグイン1.7.1、 ソナー2.1.2
BROKEN(新): ジェンキンス1.446、 ジェンキンスソナープラグイン1.7.2、 Sonar 2.1.2
私のHudsonジョブはPinnacleと呼ばれ、同じマシン上でSonarを使用する単一のHudsonサーバー上で実行されていました。次のようにして私の(NO MAVEN)ビルドをセットアップしました。
sonar.projectKey=com.skyboximaging:pinnacle
sonar.projectName="Pinnacle"
sonar.projectVersion=1.0
sources=Pinnacle/src/java
tests=Pinnacle/test/java
binaries=Pinnacle/classes
sonar.jacoco.reportPath=Pinnacle/jacoco.exec
sonar.jacoco.antTargets=test-with-coverage
(ことに注意してください:
1)は、これらのプロパティで "スタンドアロンソナー分析を呼び出す" するハドソンのピナクルジョブを設定し
と呼ばれる私のbuild.xml)にAntターゲットを追加しましたコードは、ジェンキンスジョブワークスペースでピナクルディレクトリにチェックアウトされている。)3)コードカバレッジのためJaCoCoを使用するように設定ソナー「一般設定」
すべてが美しく機能しました!
しかし、新しいジェンキンス環境では、私はジェンキンスにこのエラーが表示出力構築:
23:15:17.863 INFO Sensor JaCoCoSensor...
23:15:17.868 INFO Project coverage is set to 0% as no JaCoCo execution data has been dumped: /var/lib/jenkins/workspace/Pinnacle/Pinnacle/jacoco.exec
ファイルは、ビルドが実行されたスレーブには存在しません。
他のすべてのセンサー(FindBugs、PMDなど)は正常に動作しているようです。OK/OK/OKをクリックします。ただJaCoCoは壊れています。
Sonar/JaCoCoはマルチスレーブのJenkins環境でも動作しますか?
Antタスクtest-with-coverage
が実行されていない可能性があります。ソナーはどのようにbuild.xmlを探しますか?そして、古いものと新しいものとでは何が違うのですか?
真の感謝を! sonar.jacoco.reportPathを設定するポインタは、カバレッジデータを正しく読み込むために私のマルチプロジェクトのant駆動ソナーを取得するために必要な最後のビットです。 –
@Jason:junitレポートの代わりにsahiを使用している場合、sonar.surefire.reportsPathのsahiレポート(htmlにあります)を使用できます – vinod