一、准备工作
jdk:1.8.0_152
mysql:5.7.13
sonarqube:7.2.1
sonar-runner:2.4
二、安装jdk
1.上传程序包到/usr/local/src下
2.配置Java环境
创建jdk目录
mkdir /mnt/java
解压程序包
tar -xvf /usr/local/src/jdk-8u152-linux-x64.tar.gz -C /mnt/
修改环境变量
vi /etc/profile
添加如下:
#java
export JAVA_HOME=/mnt/java/jdk1.8.0_152/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
验证jdk是否生效(如下则安装成功)
java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
三、安装mysql
参见Mysql主从复制安装配置_V1.0
1.创建sonar用户和数据库
mysql> CREATE DATABASE sonarqube CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonarqube' IDENTIFIED BY 'xxxxxxxx';
mysql> GRANT ALL ON sonarqube.* TO 'sonarqube'@'%' IDENTIFIED BY 'xxxxxxxxx';
mysql> GRANT ALL ON sonarqube.* TO 'sonarqube'@'localhost' IDENTIFIED BY 'xxxxxxx';
mysql> FLUSH PRIVILEGES;
mysql> exit
四、安装sonarqube
1.解压程序包
unzip /usr/local/src/sonarqube-7.2.1.zip -d /mnt/
2.定义sonarqube目录
cd /mnt/
mv sonarqube-7.2.1 sonarqube
3.创建用户
groupadd sonarqube
useradd -g sonarqube sonarqube
4.修改配置文件
vi sonarqube/conf/sonar.properties
sonar.jdbc.username=sonarqube
sonar.jdbc.password=xxxxxxx
sonar.jdbc.url=jdbc:mysql://ip:port/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=xxxxxxxx
sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.host=0.0.0.0
sonar.web.port=8000
vi sonarqube/conf/wrapper.conf
wrapper.java.command=/mnt/java/jdk1.8.0_152/bin/java
5.配置环境变量
vi /etc/profile
#sonarqube
export SONAR_HOME=/mnt/sonarqube/bin
export PATH="$PATH:$SONAR_HOME"
source /etc/profile
6.启动
chown sonarqube.sonarqube /mnt/sonarqube/ -R
su - sonarqube(不要用root启动)
/mnt/sonarqube/bin/linux-x86-64/sonar.sh start
7.查看日志
tail -f /mnt/sonarqube/logs/sonar.log
8.登录验证
五、安装sonar-runner
1.解压
unzip /usr/local/src/sonar-runner-dist-2.4.zip -d /mnt/
2.配置环境变量
vi /etc/profile
#sonar-runner
SONAR_RUNNER_HOME=/mnt/sonar-runner-2.4/bin
export PATH="$PATH:$SONAR_RUNNER_HOME"
source /etc/profile
3.更改配置文件
cd /mnt/sonar-runner-2.4/conf
vi sonar-runner.properties
#----- Default SonarQube server
sonar.host.url=http:/ip:8000
#----- MySQL
sonar.jdbc.url=jdbc:mysql://ip:port/sonarqube?useUnicode=true&characterEncoding=utf8
#----- Global database settings
sonar.jdbc.username=sonarqube
sonar.jdbc.password=xxxxxxx
#----- Default source code encoding
#sonar.sourceEncoding=UTF-8
#----- Security (when 'sonar.forceAuthentication' is set to 'true')
sonar.login=admin
sonar.password=admin
4.使用生成分析结果
下载https://github.com/SonarSource/sonar-scanning-examples
解压到/usr/local/src/
cd /usr/local/src/sonar-scanning-examples-master/sonarqube-scanner
sonar-runner
到项目下执行runner程序.
目录结构如下
tree sonarqube-scanner
sonarqube-scanner
├── copybooks
│ ├── Attr.cpy
│ ├── Custmas.cpy
│ ├── Errparm.cpy
│ └── MNTSET2.CPY
├── coverage-report
│ └── coverage-cobertua-flex.xml
├── sonar-project.properties
└── src
├── abap
│ ├── ZBCMKZ17.abap
│ └── ZZBGS106.abap
├── cobol
│ └── Custmnt2.cbl
├── css
│ ├── sample.css
│ └── sonar.css
├── directory
如果一个项目要被sonar扫描评测,copybooks、coverage-report、sonar-project.properties、src以上四个加粗的必须有.
其他三个目录可以为空.但是不能没有.成功结果如下:
网友评论