前端使用sonar扫描代码 安装及使用
由于公司申请项目,要求用sonar 扫描代码,自己在网上搜了一些方法,然后摸索着弄了两天才弄出来(我可真是个小白~)
好 进入主题,我们此处只是针对本地扫描代码,我扫的是js
安装
需要安装SonarQube和sonar_scanner
需要java环境和数据库(本地扫描不需要安装数据库),
下载SonarQube
SonarQube下载后,直接解压,
安装配置sonar_scanner
sonar_scanner下载解压后,需要配置系统环境变量
1.新建系统变量,变量名:SONAR_SCANNER_HOME(可自行取名),变量值为sonar_scanner的路径
2.新增Path
3.修改一下sonar_scanner的配置文件
在sonar_scanner的conf里的sonar-scanner.properties 配置地址
Jdk下载、配置
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
安装后,配置系统环境变量
增加path
都安装好了 接下来就是使用了
打开解压后的SonarQube里bin\windows-x86-64\StartSonar.bat启动
启动SonarQube后,浏览器打开localhost:9000 登录admin账号
1.新建一个项目,随便取一个名字,后面会用到(和后面项目里增加的sonar-project .properties文件的名字一致)
获取token
继续
2.选择需要检查的语言和环境
这里有两种做法,
第一种 copy命令到项目根目录下执行,我试了一下,sonar是会开始扫描,但是这样会扫描node_modules里面的内容而且结果也不会出来,额…可能命令里还要写点东西
第二种方法成功了,在需要检查的项目中增加一个sonar-project.properties文件,
在文件中配置信息:
sonar.projectKey=suibian//新建项目时的key
sonar.projectName=suibian//sonar项目名
sonar.projectVersion=1.0
sonar.sources=src //扫描的文件
sonar.host.url=http://localhost:9000
sonar.login=admin
sonar.password=admin
sonar.sourceEncoding=UTF-8
然后在项目的根目录run : sonar-scanner
直到看到 SUCCESS,就ok啦!
然后 在localhost:9000界面 项目中刷新就可以看到分析结果了
另外,sonar还可以下载中文插件,install后需要重新运行打开界面才能生效