1:sonarqube的安装
1.环境
jdk 1.8
sonarqube 5.1.2 (最新的sonarqube都要求jdk1.8,找了一个匹配1.8的较新版本)
sonar-runner:2.4 (sonarqube5.1.2,至少要sonar-runner2.4。sonar-runner在2.4版本之后改名为sonar-scanner)
2.创建数据库
因为sonar代码分析后要存入数据库
在本地创建数据库sonar。
账号:sonar(数据库连接账号,新建个,后面配置文件要用,所以要跟后面配置文件一致就行)
密码:sonar(数据库连接账号的密码,后面配置文件要用,所以要跟后面配置文件一致就行)
可执行如下脚本:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
3:下载个sonarSonarQube
下载SonarQube: http://www.sonarqube.org/downloads/
4:下载Sonar-Runner(2.4以后是sonar-scanner)
下载Sonar-Runner: http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
5:安装sonar server
1) 将下载的sonarqube-5.1.2.zip包解压至/var/local/sonarqube-5.1.2;
2) 修改配置文件/var/local/sonarqube-5.1.2/conf/sonar.properties,进行配置数据库设置
这里的密码和账号是上面创建数据库要配置的
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
6:启动sonar server
Sonar目前支持Linux/Macosx/Solaris/Windows等操作系统。以Windows 32位操作系统为例,目录切换至/var/local/sonarqube-5.1.2/bin/linux-x86-64目录(64对应jdk8_42bit 而非linux_32bit),运行sonar.sh文件启动服务。
7:访问sonar server
访问地址:http://192.168.146.18:9000/ 或者 http://localhost:9000/
其中,192.168.146.18为服务器的IP
8:安装sonar runner
解压sonar-runner-dist-2.4.zip到任意目录,为了方便,将安装包解压到/var/local/sonar-runner-2.4下。
9:配置runner的环境
vi /etc/profile
export SONAR_RUN_HOME="/var/local/sonar-runner-2.4"
export SONAR_RUN_BIN=$SONAR_RUN_HOME/bin;
10:编辑/var/local/sonar-runner-2.4/conf/sonar-runner.properties
配置指定的Sonar Server地址、数据库URL、数据库用户名及密码、Sonar Server用户名及密码
#----- Default SonarQube server
sonar.host.url=http://192.168.146.18:9000
#----- PostgreSQL
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar
#----- MySQL
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
#----- Oracle
#sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE
#----- Microsoft SQLServer
#sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
#----- Global database settings
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
#----- Security (when 'sonar.forceAuthentication' is set to 'true')
sonar.login=admin
sonar.password=abc1233
11:sonar-runner需要配置检查代码的路径和语言等,我们这里用jenkins,所以jenkins配置就行,如果想直接不用jenkins,需要修改如下文件
创建 sonar-project.properties,并用/var/local/sonar-runner-2.4/bin/sonar-runner --Dproject.home=sonar-project.properties运行,sonar-project.properties是你配置的文件路径
12:全局工具配置里新增
SonarQube Scanner
|
13:系统设置里面加sonar server的设置,我记得5.2以下要配置密码和账号,5.2以上是token,具体实际为主
14:用jenkins配置sonar scanner就是我们的runner(点击add pre-build step),填入以下信息:
sonar.projectKey=xxx
sonar.projectName=xxx
sonar.projectVersion=1.0
sonar.sources=/var/lib/jenkins/workspace/xxx
sonar.sourceEncoding=UTF-8
sonar.language=java
15,:启用runner或者scanner
完美,可以去9000端口看报告了