SonarQube安装及使用
安装(以linux为例)
安装包下载
-
sonarqube安装包网址:https://www.sonarqube.org/downloads/
- 注意:目前最好使用9.1版本,9.2中文插件不兼容
-
sonar-scanner-cli(linux)安装包网址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472-linux.zip
-
sonar-scanner-cli(Windows)安装包网址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472-windows.zip
安装SonarQube
- 将下载的sonarqube-9.1.0.47736.zip和sonar-scanner-cli-4.6.2.2472-linux.zip上传linux系统
- 创建新用户sonar
$ useradd sonar
- 将sonarqube-9.1.0.47736.zip解压至/home/sonar
$ unzip sonarqube-9.1.0.47736.zip -d /root/sonar $ cd /home/sonar $ mv sonarqube-9.1.0.47736/* . && rm sonarqube-9.1.0.47736 -rf $ chown -R sonar:sonar /home/sonar
- 修改配置文件
$ cd /home/sonar/conf $ vim sonar.properties sonar.jdbc.username=postgres sonar.jdbc.password= sonar.jdbc.url=jdbc:postgresql://172.16.30.101:5432/sonarqube # sonarqube时数据库名字 注意:使用sonarQube时需要数据库的支撑,9.1已经摒弃了mysql,目前我们使用的postgresql,在配置sonar.properties的之前,请先确认postgres已经创建,并且新建数据库名叫做sonarqube。
- 启动sonar
$ cd /home/sonar9/bin/linux-x86-64 $ ./sonar.sh start 查看日志 /home/sonar9/logs/es.log <elasticsearch的启动日志> /home/sonar9/logs/sonar.20211203.log <sonar启动日志> 如果未启动,请查看相关日志,可能系统某些设定不符合要求,按照日志提示修改系统部分参数
- 启动之后安装中文插件
1.访问网址http://172.16.63.59:9000/ 默认用户是admin 密码:admin 首次登录需要修正密码 2.登陆之后 Administration-->Marketplace-->Plugins-->搜索框内<Chinese Pack>-->安装第一个-->重启sonarQube 3.进入界面查证是否转换为中文
安装sonar-scanner-cli
-
将sonar-scanner-cli拷贝至linux
-
解压sonar-scanner-cli-4.6.2.2472-linux.zip
$ unzip sonar-scanner-cli-4.6.2.2472-linux.zip -d /home/sonar-scanner
-
添加环境变量
/etc/profileexport SONAR_RUNNER_HOME=/home/sonar-scanner/sonar-scanner-4.6.2.2472-linux export PATH=$SONAR_RUNNER_HOME/bin:$PATH
-
验证安装是否成功
$ sonar-scanner -v INFO: Scanner configuration file: /home/sonar-scanner/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties INFO: Project root configuration file: NONE INFO: SonarScanner 4.6.2.2472 INFO: Java 11.0.11 AdoptOpenJDK (64-bit) INFO: Linux 3.10.0-693.el7.x86_64 amd64
-
客户端其他主机安装
修改sonar-scanner/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties sonar.host.url=http://localhost:9000 将以上localhost换成主机IP地址
使用sonarQube扫描JAVA代码
- 上传需要扫描的代码
例如:jc-common 1.在jc-common目录下新建sonar-project.properties文件 $ ls jc-common pom.xml sonar-project.properties src target 注意:使用已编译之后的代码,sonar也可支持未编译代码
- sonar-project.properties文件内容
注:根据要求修改文件内容# 配置代码扫描的项目信息 # must be unique in a given SonarQube instance sonar.projectKey=jc-common # this is the name displayed in the SonarQube UI sonar.projectName=jc-common sonar.projectVersion=1.1.1 # Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. # If not set, SonarQube starts looking for source code from the directory containing # 配置扫描的代码目录 sonar.sources=src # classes文件目录,不加会报错 sonar.java.binaries=target sonar.language=java sonar.sourceEncoding=UTF-8 sonar.exclusions=**/*.js sonar.login=admin
- 执行扫描命令
在sonar-project.properties同目录下执行以下命令 $ sonar-scanner -Dsonar.projectName=jc-common -Dsonar.projectVersion=1.2
- 查看结果
浏览器查看 http://172.16.63.59:9000/