首先,为什么需要SonarQube?
1、WriteClean Code
1)全局健康报告
2)关注新增的问题
3)强制QualityGate
4)Issue详情及建议…
详情参考:https://www.sonarqube.org/features/clean-code/
1)支持多种BuildSystem集成: Maven,Gradle,Ant…
2)支持多种CIEngines: Bamboo,Jenkins…
3)成功、失败通知…
详情参考:https://www.sonarqube.org/features/integration/
3、CentralizeQuality
1)所有项目inone place
2)统一的Ruleset, QualityGate…
详情参考:https://www.sonarqube.org/features/centralization/
SonarCube安装
1、下载地址:https://www.sonarqube.org/downloads/
2、 解压,配置(主要是数据库的配置)
讯享网
3、 启动相应平台的脚本
./sonar start


4、验证(首次启动PROJECTS下面是空白的)


SonarCubeScanner
用于代码分析,有多种方式:
SonarQube Scanner :命令行方式
SonarQubeScanner for Maven :与Maven集成
SonarQube Scannerfor Jenkins:与Jenkins集成
….
详情参考:https://docs.sonarqube.org/display/SCAN/Analyzing+Source+Code
SonarCubeScanner 命令行方式
命令行模式具体参考:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
SonarCubeScanner Maven方式
1、Initial Setup修改setting.xml文件,指定SonarCube Server的URL,其位于$MAVEN_HOME/conf 或 ~/.m2Maven


详情参考:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven
3、查看报告


SonarCubeScanner Jenkins集成
1. 安装插件 (SonarQube Scanner for Jenkins + Quality Gate Plugin)
Jenkins: 系统管理 > 管理插件




2、配置




3、项目配置(在原配置上需要增加的地方)
1)在构建环境里勾选“PrepareSonarQubeScanner environment”


2)在构建里增加代码分析步骤


3)在构建后操作里增加Quality Gate步骤。这个很关键,用于当代码质量不通过时,不执行部署。ProjectKey可以在SonarQube上找到,执行一次Maven方式的分析后SonarQube就会有。





4. 执行构建
如果代码质量通过,项目就可以部署,结果如下。


如果代码质量不通过,可以看到后面的部署没有进行,本次集成状态为失败。




5、 查看失败原因




查看Bug概述

查看Bug详情


点击“…”查看为什么这是个Bug以及如何fix。

6、Bug处理
管理员可以把Bug分配给开发成员;也可确认这不是Bug后将其设为”won’tfix”,这样下次构建时这个Bug就不会出现在报告里,也不会再对QualityGate产生影响。还可以进行其他的一些处理,详情如下。




若Bug被分配给某个开发成员,他可以在他的账号下看到。(不知道这个能不能和JIRA集成:))


SonarCube还有很多其他功能,例如Quality Gate状态变化邮件通知,自定义Rule…这些有需要的话可以进一步深挖下。
SonarLint


https://marketplace.eclipse.org/content/sonarlint
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/117212.html