代码扫描利器sonarqube
sonar的作用
1、代码质量和安全扫描和分析平台。
2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。
3、支持25+编程语言的代码扫描口分析,包含java\python\C#\javascript\go\C++等。
4、涵盖了编程语言的静态扫描规则:代码编写规范+安全规范。
5、能够与代码编辑器、CI/CD平台完美集成。
6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。
7、帮助程序猿写出更干净、更安全的代码。
sonar的组成
sonar静态代码扫描由2部分组成:sonarQube平台,sonar-scanner扫描器。
sonarQube:web界面管理平台。
1)展示所有的项目代码的质量数据。
2)配置质量规则、管理项目、配置通知、配置SCM等。
sonarScanner:代码扫描工具。
专门用来扫描和分析项目代码。支持20+语言。
代码扫描和分析完成之后,会将扫描结果存储到数据库当中,在sonarQube平台可以看到扫描数据。
扫描项目-(java项目)
1、获取1份java项目源代码(svn/git上下载均可)
2、项目代码根目录下添加sonar-project.properties
3、文件内容如下:
- sorfar.projectKey=在sonarQube上的实例键名(唯一)
- sonar.projectName=在sonarQube上的项目名称
- sonar.projectVersion=1.0(项目版本号)
- sonarsources=.(java源代码目录指定)
- sonar.sourceEncoding=UTF-8(编码格式指定)
- sonar.language=java(指明只扫描ava语言)
- sonar.java.binaries=target/classes(class文件的目录)
4、在项目代码根目录下,运行命令:sonar-scanner
5、等待扫描完成。
配置文件