java - 在现有分析之前注入(inject) Sonar 分析

标签 java sonarqube

前一段时间我设置了Sonar扫描开发项目。使用 cronjob 每晚调用扫描。有一次我在运行 cronjob 的机器上遇到了问题,并且错过了一些夜间扫描。我从错过的某一天下载了源代码,并使用 Sonar Runner 完成了新的 Sonar 扫描。正如我所料,数据在 Sonar 中显示为最近的扫描,这不是我想要的。我想将该扫描注入(inject)到特定日期,以便我可以填补未运行扫描的日子。我没有在 sonar-project.properties 文件中看到执行此操作的选项。

有没有一种方法可以运行 Sonar 扫描,但在我选择的日期而不是当前日期输入数据,以便它显示在我的 Sonar 时间轴中的适当位置?

最佳答案

我没用过它们,但 Sonar documentation描述了启用历史分析的附加属性。具体来说,就是您需要设置的“sonar.projectDate”属性。

您还没有指定您使用的是哪种 Java 构建技术。我在下面包含了一些示例。

最后,您是否考虑过设置 Jenkins 来启动 Sonar,而不是 cron?运行 Jenkins 的理由很多,但如果您使用 Maven 作为构建工具,Jenkins Sonar plugin使 Sonar 集成变得非常容易。

Maven 示例

mvn clean install -DskipTests=true
mvn -Dsonar.projectDate=2012-09-01 sonar:sonar

ANT 示例

ant -Dsonar.projectDate=2012-09-01 clean sonar

注意:

  • 假设您有一个名为“sonar”的目标,用于编译、测试和运行 sonar。

关于java - 在现有分析之前注入(inject) Sonar 分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12327000/

相关文章:

java - Selenium 中的页面对象模型最佳实践

Java 服务器未释放连接锁

java - 如何取消选中 JSF 中选择一个单选按钮的默认所有选项?

ssl - 使用 SSL 和 NGINX 作为反向代理配置 Sonarqube - 错误代码 : SSL_ERROR_RX_RECORD_TOO_LONG

sonarqube - 可以并行化 SonarQube 后台任务吗?

java - 如何使用 SonarQube 网络 API?

go - Sonarqube 是否支持 GO lang,如果不支持,那么该功能何时到位

Java正则表达式进入无限循环

java - 在JPA中插入一条记录到外表

sonarqube - 如何使用自定义规则严重性设置从 SonarQube 下载适用于 Visual Studio 的最新 SonarLint 规则集?