关于SonarQube社区版使用问题及解决方法
1、解决SonarQube平台数据问题
当我们在大规模使用SonarQube进行代码质量检查的时候,我们需要让开发人员每次都能看到当前特性分支的扫描分析数据,以尽快解决有问题的代码,提高代码的质量。开源版本会带来一些问题,因为不支持一个项目多分支的形式,所以我们按照特性分支的名称来生成相对应的扫描项目。(会产生很多Sonarqube项目)
虽然解决了数据不稳定的问题,但又间接的带来了一些问题。
对于SonarQube管理员来说很难管理,增加了任务负担。
总结一下如何解决问题呢?
变更代码扫描的模式,比如将每次特性分支扫描的数据关联到提交的commit信息中。
总之蕞简单的方式就是付费购买开发版、企业版。小型团队也可以使用生成多项目的方式管理。
SonarQube 9.3版本文档
SonarQube® 是一个自动代码审查工具,用于检测代码中的错误、漏洞和代码异味。它可以与现有工作流集成,以实现跨项目分支和拉取请求的连续代码检查。
概述
开发人员在IDE中开发和合并代码(蕞好使用SonarLint在编辑器中接收即时反馈),并将他们的代码签入到他们的DevOps平台。组织的持续集成 (CI) 工具可检出、构建和运行单元测试,集成的 SonarQube 扫描器会分析结果。扫描程序将结果发布到 SonarQube 服务器,该服务器通过 SonarQube 界面、电子邮件、IDE 内通知(通过 SonarLint)以及拉取或合并请求上的修饰(使用开发人员版及更高版本时)向开发人员提供反馈。
Sonarqube扩展性
Sonar实际上是一个Web系统,展现了静态代码扫描的结果,结果是可以自定义的,而真正实现代码扫描的是Sonar Scanner这个工具,另外同时支持多种语言的原理是它的扩展性,通过插件实现的,也就是Java Jar架包,可以在Sonar平台上在线安装或者离线安装。
SonarQube 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。