sonarQube如何工作?
sonar静态代码扫描由2部分组成:sonarQube平台,sonar-scanner扫描器。
sonarQube: web界面管理平台。
1)展示所有的项目代码的质量数据。
2)配置质量规则、管理项目、配置通知、配置SCM等。
sonarScanner: 代码扫描工具。
专门用来扫描和分析项目代码。支持20+语言。
代码扫描和分析完成之后,会将扫描结果存储到数据库当中,在sonarQube平台可以看到扫描数据。
sonarQube和sonarScanner之间的关系:
sonarQube的基本使用(四)
7.执行代码检查
用测试用户登录之后,测试用户只能看到公开的4个项目和一个私有的项目testPrj,当前该项目还没有运行过代码检查,所以没有检查结果信息。
将之前的代码检查命令在项目根目录下(与pom.xml同级)执行,执行时会进行相关插件安装。安装成功后,执行代码检查命令,这里我们用令牌代替了用户名密码。
执行成功后输出BUILD SUCCESS.
回到sonarQube,发现testPrj项目的检查结果已经出来了。但是你会发现项目名却不是testPrj,而是别名称,之前也提到过这一点,sonarQube的项目标识符不会变,但是项目名称会被代码项目名覆盖。
点击项目名进去检查总览页,打开项目信息面板我们可以看到项目标识还是testPrj,左侧绿域表示检查结果的质量阈状态,中间区域显示bug和漏洞的数量等信息。
Sonarqube代码分析
当使用 SonarQube对某一个项目进行代码质量管理时,通常可以采用三种不同的方法来发起代码分析,分别为 Analyzing with SonarQube Runner,Analyzing with SonarQube Ant Task 和 Analyzing with Maven 方法。这三种方法的主要区别是 , 它们分别适用于不同架构和组织形式的项目,并且其相应的配置文件的写法也不尽相同。下面主要说一下Analyzing with SonarQube Runner和Analyzing with Maven
Sonarqube集成
下面是SonarQube与其他sonarqube ALM工具如何集成以及SonarQube各种组件在何处被使用。
1)开发在IDE开发代码并使用sonarlint运行本地分析
2)开发把代码提交到SCM工具中:git, SVN, TFVC, ...
3)持续集成服务器触发自动编译以及执行SonarQubeScanner
4)SonarQubeServer 处理分析报告
5)SonarQubeServer 处理并存贮分析报告到数据库里并在页面上显示处理结果.
6)开发审查解决他们的问题,在页面管理问题
7)管理者获得分析报告
Ops 可以使用API从 SonarQube抽取数据
Ops 可以使用 JMX 监控 SonarQubeServer.