从拉取请求(位桶)扫描代码时,Sonar会忽略代码覆盖率报告。此过程在詹金斯上执行。 创建报告命令:
clean install -Pjacoco org.jacoco:jacoco-maven-plugin:report -s
./template_config/settings.xml
这是脱机模式覆盖率扫描。 然后执行扫描仪命令:
sonar:sonar -Psonar -Dsonar.branch.name=${PULL_REQUEST_FROM_BRANCH}
-Dsonar.branch.target=${PULL_REQUEST_TO_BRANCH} -Dsonar.verbose=true
-Dsonar.inclusions=${SONAR_DIFF} -Dsonar.host.url="sonar_address"
-Dsonar.login="any_login" -s ./template_config/settings.xml
声纳中的所有分支标记为长寿。 在“ sonar.inclusions”选项中,我传递了已被该拉取请求修改的文件列表。 如果我删除该选项,则覆盖范围将显示在仪表板中。但是声纳会扫描整个项目。请帮助解决此问题。
答案 0 :(得分:0)
与主分支合并并添加新代码后,我创建了第二个请求请求。分析作业在Jenkins中运行,并且覆盖范围显示在仪表板上。
The resulting dashboard with "sonar.inclusions"
但是一件事。根据第二次请求请求中更改的代码评估了代码覆盖率。不会分析第一个拉取请求中的代码。