1.sonar文件的版本为6.7.1 对应各版本下载地址为:https://binaries.sonarsource.com/Distribution/sonarqube/
2.下载sonar的对应版本的汉化包 地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases?after=sonar-l10n-zh-plugin-1.25
3.oracle数据库 11.2.* 或者12.* (具体看sonar.properties文件)
1.修改sonar的conf/sonar.properties文件配置,主要修改部分
#jdbc连接配置
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521/orcl
sonar.jdbc.driverClassName:oracle.jdbc.driver.OracleDriver
#配置web管理界面的ip+port+context
sonar.web.host=192.168.5.42
sonar.web.port=9200
sonar.web.context=/sonar
#配置 Elasticsearch HTTP connector,0为自动寻找一个free的端口,可固定配置
sonar.search.port=0
#配置web等交互所需的内存大小
sonar.web.javaOpts =-Xmx8192m -Xms512m -XX:MaxPermSize=8192m
sonar.ce.javaOpts =-Xmx8192m -Xms512m -XX:MaxPermSize=8192m
sonar.search.javaOpts =-Xmx8912m -Xms512m -XX:MaxPermSize=8192m
# HTTP proxy (default none) 配置http代理访问的url
http.proxyHost=192.168.5.42
http.proxyPort=9200
2.sonar对mysql,PostgreSQL均以有jar包内置支持,对oracle没有,因此需要在extensions\jdbc-driver\oracle中放入自己的jar包提供jdbc使用。
创建数据库
CREATE TABLESPACE sonarqube
DATAFILE 'F:/app/xxx/oradata/orcl/sonarqube.dbf' SIZE 512M
AUTOEXTEND ON NEXT 512M MAXSIZE 20480M;
CREATE USER sonarqube IDENTIFIED BY sonarqube;
GRANT CONNECT, RESOURCE ,DBA TO sonarqube;
#注意事项,sonar的web初始化会在此表空间进行建表语句的操作,其默认的字符集编码是utf8因此我们需要创建表空间及用户之后修改自己的字符集,如果是utf8则可跳过此操作
修改表的字符集设置
#登录sqlplus,执行以下命令
SQL> connect sys/oracle as sysdba
SQL> startup
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use utf8;
SQL> shutdown immediate;
SQL> startup
3.在bin\windows-x86-64下执行StartSonar.bat文件,如果闪退证明有错误,因此我们进入dos命令行来执行StartSonar.bat文件,看日志报错。(经常会有遇到端口占用的问题,因此需注意)
sonar的日志打印顺序,也即程序的启动顺序如下
#logs目录下
es.log #elasticsearch服务启动日志,linux下不能以root启动需要创建其他账户来使用
sonar.log #查看sonar的启动情况
web.log #初始化jdbc连接的数据库
如果均正常,则可以在web端访问sonar的服务了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBsycy0N-1600662969833)(C:\Users\yunnuo.yang\Desktop\主界面.jpg)]
默认登录名及密码是admin admin
上边我们安装的是服务端,因此我们需要在本地进行客户端的配置安装sonarscanner
进入sonar的官网搜索https://docs.sonarqube.org/
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ayncErXk-1600662969836)(C:\Users\yunnuo.yang\Desktop\sonar官网.jpg)]
支持maven等工具集成
后端采取集成maven来扫描java文件,具体配置参考官网完成。地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/
#配置maven的setting文件或者在当前项目中使用
<settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>
#执行命令
mvn clean verify sonar:sonar
在与pom文件平级的目录下的dos窗口中执行此命令,也可在idea中配置插件运行
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.4.0.905</version>
<configuration>
<detail>true</detail>
</configuration>
</plugin>
<!--在某些情况下我们需要配置一些不需要扫描的文件目录,具体的配置方法是在maven中配置下列-->
<properties>
<java.version>1.8</java.version>
<sonar.exclusions>
<!-- **代表文件夹 * 代表文件-->
**/xxx/**
</sonar.exclusions>
<sonar.dynamic> reuseReports</sonar.dynamic>
<sonar.sources>src/main/java</sonar.sources>
</properties>
即可完成maven的扫描
2配置js扫描安装客户端,配置sonar-scanner.properties文件
#----- Default SonarQube server
sonar.host.url=http://192.168.5.42:9200/sonar
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
sonar.projectKey=javascript-prj #项目的key
sonar.projectName=JavaScript Demo Project #项目名称
sonar.projectVersion=1.0 #版本
sonar.sources=src/main/resources 扫描的目录
sonar.login=admin #登录名 密码
sonar.password=admin
Name=JavaScript Demo Project #项目名称
sonar.projectVersion=1.0 #版本
sonar.sources=src/main/resources 扫描的目录
sonar.login=admin #登录名 密码
sonar.password=admin
直接执行sonar-scanner即可。