1
我有一個獨立的Jenkins作業來在我們的代碼庫上運行Sonar,它工作正常,但我始終獲得代碼覆蓋率爲零,儘管事後處理作業在Jenkins中正確顯示代碼覆蓋率。我認爲這個問題是有聲納無法正常拿起EXEC文件,我收到這在詹金斯日誌:Jacoco.exe文件沒有被Jenar拾起Jenkins
INFO: Analysing D:\Data\CCS\Jenkins\jobs\Sonar Scan\workspace\ccs-core\target\jacoco.exec
INFO: Analysing D:\Data\CCS\Jenkins\jobs\Sonar Scan\workspace\ccs-core-common\target\jacoco.exec
INFO: Analysing D:\Data\CCS\Jenkins\jobs\Sonar Scan\workspace\ccs-core-client\target\jacoco.exec
INFO: No JaCoCo analysis of project coverage can be done since there is no class files.
儘管事實上,我可以看到這些文件是在該位置的作業有後完成。
我在構建兩個步驟,首先是通過MVN運行Jacoco:
clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
第二隻使用聲納插件來生成報告。然後是詹金斯生成Jacoco報告的後處理報告。
一些有用的靈魂指向我可能會失蹤的東西嗎?
這是行不通的,因爲項目結構有點怪用sub pom.xml文件。我的配置文件如下所示: #帶源碼目錄的逗號分隔路徑(必需) sonar.sources = ccs-core/src,ccs-core-client/src sonar.binaries = ccs-core/target/classes,ccs-core-client/target/classes,ccs-core-common/target/classes #測試覆蓋位置 sonar.jacoco.reportPaths = ccs-core/target/jacoco.exec ,ccs-core-client/target/jacoco.exec,ccs-core-common/target/jacoco.exec –
這不起作用,因爲項目結構中有自己的poms子項目。我認爲這基本上是問題所在。我確實跑過這個:http://stackoverflow.com/questions/27778752/how-can-i-integrate-jacoco-reports-with-sonarqube-without-using-maven其中說,我需要設置sonar.binaries財產,但這仍然失敗,同樣的錯誤。我不知道是否需要指定sonar.junit.reportsPath,或者是否可以使用多個路徑將它指定爲每個子項目的逗號分隔值。 –
是的,我不能爲sonar.junit.reportsPath添加多個路徑。我懷疑我無法做到這一點,因爲我需要分別指定每個模塊。 –