Sonarqube Gitlab插件只能扫描更改的文件吗

时间:2018-09-17 04:50:30

标签: maven sonarqube gitlab-ci sonarqube-scan

我正在使用gitlab-ci管道,它将使用以下命令运行一个新的docker容器:

mvn --batch-mode verify sonar:sonar 
-Dsonar.analysis.mode=preview 
-Dsonar.gitlab.project_id=$CI_PROJECT_ID 
-Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA 
-Dsonar.gitlab.only_issue_from_commit_file=true 
-Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME 
-Dsonar.host.url=xxx 
-Dsonar.test.inclusions="/src/test/java/**/*.java" 
-Dsonar.login=xxx

对于我的项目而言,它变得相当慢,几乎要运行20分钟。 我发现它将扫描所有文件而不是仅提交的文件。

我的配置有问题吗?

1 个答案:

答案 0 :(得分:1)

在某些SonarQube以前的版本中,我们将预览模式更改为仅扫描更改的文件。但这有一些缺点,例如无法正确检测跨文件问题。

在SonarQube的最新版本中,不赞成使用预览模式,而希望进行拉取请求分析。但是,出于相同的原因(跨文件问题,覆盖范围措施,重复检测等),即使是此PR分析功能也正在扫描所有文件。

我们不再尝试进行部分分析,而是尝试优化整个分析时间。您的项目有多大?与常规构建(编译+测试)相比,SonarQube分析时间长吗?如果是,那么我建议您在SonarSource community forum上举报您的案件。