【代码质量管理】IDEA集成SonarQube,扫描代码git库,并搭建一个可视化页面,轻松定位代码BUG

张开发
2026/4/4 2:23:40 15 分钟阅读
【代码质量管理】IDEA集成SonarQube,扫描代码git库,并搭建一个可视化页面,轻松定位代码BUG
IDEA集成SonarQube实现代码扫描与可视化分析一、背景与需求场景代码质量管理的必要性1、降低研发成本避免 “越写越贵”2、保障系统稳定规避生产事故3、降低维护成本延长项目生命周期4、团队协作标准化SonarQube的核心功能简介1、静态代码分析2、漏洞检测、3、代码覆盖率等IDEA作为开发工具集成SonarQube具有天然性优势二、环境准备与工具安装安装SonarQube服务端本地部署1、SonarQube各版本下载地址https://binaries.sonarsource.com/?prefixDistribution/sonarqube/2、本次演示使用的是JDK8对应的版本是sonarqube-7.8版本如果是JDK11则需要使用10.0以上版本3、下载zip解压4、打开根目录\conf\sonar.properties配置启动端口防止冲突sonar.web.port91915、打开根目录\conf\wrapper.conf配置信息如下wrapper.java.commandjava wrapper.java.additional.1-Dsonar.wrappedtrue wrapper.java.additional.2-Djava.awt.headlesstrue wrapper.java.mainclassorg.tanukisoftware.wrapper.WrapperSimpleApp wrapper.java.classpath.1../../lib/jsw/*.jar wrapper.java.classpath.2../../lib/common/*.jar wrapper.java.classpath.3../../lib/*.jar wrapper.java.library.path.1./lib wrapper.app.parameter.1org.sonar.application.App wrapper.java.initmemory8 wrapper.java.maxmemory32 wrapper.console.formatPM wrapper.console.loglevelINFO wrapper.logfile../../logs/sonar.log wrapper.logfile.formatM wrapper.logfile.loglevelINFO wrapper.syslog.loglevelNONE wrapper.console.titleSonarQube wrapper.single_invocationtrue wrapper.ntservice.nameSonarQube wrapper.ntservice.displaynameSonarQube wrapper.ntservice.descriptionSonarQube wrapper.ntservice.dependency.1 wrapper.ntservice.starttypeAUTO_START wrapper.ntservice.interactivefalse wrapper.disable_restartsTRUE wrapper.ping.timeout0 wrapper.shutdown.timeout0 wrapper.jvm_exit.timeout04、cmd进入sonarqube-7.8\bin\windows-x86-64,执行StartSonar.bat即可访问可视化页面http://localhost:端口号登录账户和密码默认都是Admin5、SonarQube配置项目名称和Token生成之后切记保存只有一次6、安装IDEA插件SonarLintJDK8或者SonarQube For IDEJDK11三、IDEA集成SonarQube详细步骤在IDEA中配置SonarQube服务器连接地址、Token认证1、位置File-Settings-Tools-SonarLint2、配置项目名称和可视化地址3、填写Token,上面保存的Token配置项目级SonarQube扫描规则自定义质量阈、规则集,可视化页面可以根据项目进行自定义规则通过SonarLint插件实现本地实时扫描也可以使用GIt库扫描也可以使用maven扫描扫描完成后会同步到可视化界面四、Git仓库代码扫描或者maven命令实现配置SonarQube 的Maven命令进行扫描在当前项目根目录下执行mvn sonar:sonar\-Dsonar.projectKey项目名称\-Dsonar.host.urlhttp://地址:端口\-Dsonar.logintoken报错解决合并成一行执行或者使用低版本命令mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar-Dsonar.host.urlhttp://地址:端口-Dsonar.projectKey项目-Dsonar.logintoken五、搭建可视化分析与问题定位SonarQube Dashboard功能解析问题分类、严重级别、热点代码八、总结与扩展方向结合DevOps实现全流程代码质量管理比如全自动化的CI、CD

更多文章