gitlab+jenkins+sonar做代码质量分析

环境准备:

安装JDK

Centos7 安装JDK:https://blog.csdn.net/qq_16538827/article/details/81703021

安装Mysql 5.6

Centos7 安装myql5.6:https://blog.csdn.net/qq_16538827/article/details/81702574

什么是sonarqube ?

SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码风格问题,缺乏单元测试等问题, 并通过一个web ui展示出来。

 sonarqube5.6 安装

下载安装包:

wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.3.zip
mkdir -p  /disk1/app/sonar
unzip sonarqube-5.6.3.zip -d  /disk1/app/sonar
ll /disk1/app/sonar

vim /etc/init.d/sonar

#!/bin/sh
#
# rc file for SonarQube
#
# chkconfig: 345 96 10
# description: SonarQube system (www.sonarsource.org)
#
### BEGIN INIT INFO
# Provides: sonar
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: SonarQube system (www.sonarsource.org)
# Description: SonarQube system (www.sonarsource.org)
### END INIT INFO
/usr/bin/sonar $*

chmod +x  /etc/init.d/sonar
ln -s /disk1/app/sonar/sonarqube-5.6.3/bin/linux-x86-64/sonar.sh  /usr/bin/sonar
chkconfig sonar on

创建数据库和账户

mysql -uroot -p123456
#创建数据库
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY '123456' WITH GRANT
OPTION;
GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;

#验证一下账户密码

mysql -usonar -p123456 -e " show databases;"

配置 sonar 参数

#参考 http://docs.sonarqube.org/display/SONAR/Installing+the+Server

cd /disk1/app/sonar/sonarqube-5.6.3/
cp conf/sonar.properties conf/sonar.properties.orig
sed -i 's/#sonar.jdbc.username=/sonar.jdbc.username=sonar/g' conf/sonar.properties
sed -i 's/#sonar.jdbc.password=/sonar.jdbc.password=123456/g' conf/sonar.properties
sed -i 's/#sonar.web.port=9000/sonar .web.port=9000/g' conf/sonar.properties
egrep "sonar.jdbc.username|sonar.jdbc.password|sonar.web.port=9000" conf/sonar.properties

#修改配置

vim conf/sonar.properties +23

sonar.jdbc.username=sonar     #14行
sonar.jdbc.password=123456    #15行
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStat
em ents=true&useConfigs=maxPerformanc    #23行
sonar.web.port=9000   #105行
sonar.jdbc.maxActive=10   #61行
sonar.jdbc.maxIdle=5   #65行
sonar.jdbc.minIdle=2   #69行
sonar.jdbc.maxWait=5000   #74行
sonar.jdbc.minEvictableIdleTimeMillis=600000  #76行
sonar.jdbc.timeBetweenEvictionRunsMillis=30000   #77行

安装 SonarQube Scanner

cd /disk1/tools/
http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
unzip sonar-scanner-2.8.zip -d  /disk1/app/sonar
ln -s /disk1/app/sonar/sonar-scanner-2.8/bin/sonar-scanner /usr/bin/sonar-scanner

#修改配置


cd /disk1/app/sonar/sonar-scanner-2.8/conf/
cp sonar-scanner.properties  sonar-scanner.properties.orig
vim sonar-scanner.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8


#5. 安装 SonarQube runner


#http://docs.sonarqube.org/display/SONARQUBE51/Installing+and+Configuring+SonarQube+Runner
cd /disk1/tools/
wget http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip
unzip sonar-runner-dist-2.4.zip  -d /disk1/app/sonar
ll /disk1/app/sonar
ln -s /disk1/app/sonar/sonar-runner-2.4/bin/sonar-runner /usr/bin/sonar-runner
cd /disk1/app/sonar/sonar-runner-2.4/conf/
cp sonar-runner.properties sonar-runner.properties.orig

vim sonar-runner.properties
11 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
20 sonar.jdbc.username=sonar
21 sonar.jdbc.password=123456

vim /etc/profile.d/sonar.sh
#-------------添加如下代码 -----
#!/bin/bash
SONAR_HOME=/disk1/app/sonar/sonarqube-5.6.3
SONAR_RUNNER_HOME=/disk1/app/sonar/sonar-runner-2.4
PATH=$SONAR_RUNNER_HOME/bin:$PATH
export SONAR_HOME
export SONAR_RUNNER_HOME
export PATH
#------------添加代码结束 ----------
source /etc/profile.d/sonar.sh

启动 sonar

/etc/init.d/sonar start stop
/etc/init.d/sonar start restart
/etc/init.d/sonar start start
/etc/init.d/sonar start status
#需要等 2-3 分钟,端口号才起来
netstat -atnlp|grep 9000
ps -ef |grep sonar

登陆 :用浏览器登陆,需要运行 1 分钟这样才会出界面
http://192.168.0.75:9000/  默认密码是 admin admin

#点右上角的 log in,默认用户名和密码是 admin/admin
#去更新中心可以安装中文包 

安装成功后,重启 sonarqube 服务,再次访问 http://ip:9000/ ,即可看到中文界面  /etc/init.d/sonar restart

########部分图片转载网络############

猜你喜欢

转载自blog.csdn.net/qq_16538827/article/details/81703612