SonarQube代码质量静态检测

一、Sonar简介

官网:https://www.sonarqube.org/

sonar是一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,而且能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告;

sonar通过配置的代码分析规则,从可靠性、安全性、可维护性、覆盖率、重复率等方面分析项目,风险等级从A~E划分为5个等级;

同时,sonar可以集成pmd、findbugs、checkstyle等插件来扩展使用其他规则来检验代码质量;

  1. 开发人员在其IDE中进行编码,并使用SonarLint运行本地分析。
  2. 开发人员将其代码推送到他们最喜欢的SCM中:git,SVN,TFVC等。
  3. Continuous Integration Server会触发自动构建,并执行运行SonarQube分析所需的SonarScanner。
  4. 分析报告将发送到SonarQube服务器进行处理。
  5. SonarQube Server处理分析报告结果并将其存储在SonarQube数据库中,并在UI中显示结果。
  6. 开发人员通过SonarQube UI审查,评论,挑战他们的问题,以管理和减少技术债务。
  7. 经理从分析中接收报告。Ops使用API自动执行配置并从SonarQube提取数据。运维人员使用JMX监视SonarQube Server。

二、SonarLint

SonarLint是sonar团队开发的用于IDE的开源插件,支持eclipse、idea、visual studio、VS code四款IDE工具,开发可以在IDE上直接执行SonarLint对项目代码进行分析;

在市场中搜索SonarLint,安装该插件,在项目/文件上右键点击,下拉菜单中点击SonarLint,选择Analyze with SonarLint,这时会对整个项目/文件内的文件进行分析;

 

三、Sonarqube+Jenkins

sonarqube server服务在172.26.130.48服务器的/opt/sonarqube-7.8目录下;

sonarqube数据库在172.26.130.5对应的MySQL数据库下的sonar库;

访问sonarqube server服务地址:http://172.26.130.48:9000/projects,用户名:admin,密码:admin

Jenkins配置如下:

1,创建一个freestyle的项目,名称自定义;也可以在现有项目中复制一个;

2,配置Git

 

3,配置build信息;

 

#sonar工程标识,随意输入不重复有代表意义即可

sonar.projectKey=bi_build_sonar 

#sonar工程标识,随意输入不重复有代表意义即可

sonar.projectName=bi_build_sonar 

#sonar工程版本号

sonar.projectVersion=1.0 

#源代码路径,依据需要可在$WORKSPACE后加入目标路径,缩小分析范围;

sonar.sources=$WORKSPACE

#class文件路径,依据需要可在$WORKSPACE后加入目标路径,缩小分析范围;

sonar.java.binaries=$WORKSPACE

4,选择分支后执行

执行完成后,点击SonarQube,跳转SonarQube服务器,显示分析报告

 

 

 

 

 

 

 

 

 

 

 

posted @ 2024-04-01 19:54  Alieen617  阅读(67)  评论(0编辑  收藏  举报