sonarqube-代码扫描-1
1、sonarqube-代码扫描
1、sonarqube-代码扫描能干什么?
1)首先第一件事情就是能够静态扫描和分析20个语言以上的项目代码,
比方说我们在这个案例当中,这100万行代码呢,都是由Java开发人员来实现的,那么我们就可以利用这个工具,对100万行的代码进行一个扫描和分析,能够扫描出来,它的一个编码规范怎么样,是否有一些编码或者语法上的一些漏洞,存在的一些隐患,同时呢,他也能够对这个100万行代码当中存在的安全隐患也去进行一个扫描,那么扫描出来之后呢,我们可能也还可以看到的东西就是,这个它的复杂度怎么样,100万行当中它的复杂度如何,比例是多少,有哪些大码是复杂度比较高的,那他的重复度如何,重复度的一个百分比,以及哪些代码是重复的等等等等这些呢,都可以全部都扫描出来,
2)然后,这些对项目代码的扫描结果呢,我们希望有一个统一的管理平台能够呈现
那么sonarqube呢,同时也提供了这样的一个管理平台,能够呈现扫描出来的项目代码它的整体的质量数据,那么这就是我们送的QB能干的事情,当你的公司有十个项目,20个项目,30个项目,有的是用Python实现的,有的是用Java实现的,那么这样的一个平台,它是支持多个语言的项目代码,当然也是支持多项目的代码,全部都会统一的呈现在这个平台上,所以sonarqube是什么呢,其实来讲,第一个他就是代码质量和安全扫描的一个分析平台,能够对我们的代码进行一个扫描,同时能够呈现最终的一个质量数据,那么它是以多维度的方式,去分析这个代码,并且呈现他的一个质量
2、sonarqube-安装
需要依赖jdk17(win安装17没有写)
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
tar -zxvf openjdk-17.0.12_linux-x64_bin.tar.gz
确认环境中是否存在java
执行java -version确认是否安装了java
检查是否有相关的rpm包 rpm -qa | grep java
如果有就依次卸载包:rpm -e --nodeps “rpm名称”
mkdir /usr/lib/jvm/
mv jdk-17.0.12/ /usr/lib/jvm/
[root@VM-16-5-centos opt]# export JAVA_HOME=/usr/lib/jvm/jdk-17.0.12
export JAVA_HOME=/usr/lib/jvm/jdk-17.0.12
[root@VM-16-5-centos opt]# export PATH=$JAVA_HOME/bin:$PATH
[root@VM-16-5-centos opt]# source ~/.bashrc
[root@VM-16-5-centos opt]# java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
win电脑再bin文件夹下的startsonar.bat启动
汉化:
mac启动方法:
win安装postgresql sonar
下载.exe包,然后傻瓜式安装即可,安装对应的目录
创建用户
设置密码sonar
创建数据库
配置文件sonar.properties
重启sonar.bat即可
3、安装sonar-scanner
配置文件
4、扫描java项目
配置文件
运行命令
5、分析