sonarqube+sonar-runner+jenkins+maven的安装配置及使用

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。

sonarqube+sonar-runner+jenkins+maven的安装配置及使用_第1张图片

账号: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用户名及密码

sonarqube+sonar-runner+jenkins+maven的安装配置及使用_第2张图片

#----- 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
如下图,配置下scanner路径,也就是runner路径

sonarqube+sonar-runner+jenkins+maven的安装配置及使用_第3张图片

13:系统设置里面加sonar server的设置,我记得5.2以下要配置密码和账号,5.2以上是token,具体实际为主

sonarqube+sonar-runner+jenkins+maven的安装配置及使用_第4张图片

14:用jenkins配置sonar scanner就是我们的runner(点击add pre-build step),填入以下信息:

sonarqube+sonar-runner+jenkins+maven的安装配置及使用_第5张图片

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端口看报告了







你可能感兴趣的:(代码解读)