SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。
通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式,并通过各种不同的分析机制对项目源代码进行分析和扫描,并把分析扫描后的结果上传到sonar的数据库,通过sonar web界面对分析结果进行管理
1、安装mysql5.6的yum源
# rpm -ivh https://repo.mysql.com/mysql-community-release-el7-7.noarch.rpm
2、yum安装mysql-server
# yum install mysql-server
# systemctl start mysqld
3、配置mysql优化参数
[mysqld]
innodb_buffer_pool_size = 256M
query_cache_type=1
query_cache_size=32M
4、为sonar创建mysql数据库
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
二、安装SonarQube
1、去官网下载安装包
# wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.1.zip
2、解压至安装路径
# unzip sonarqube-6.7.1.zip -d /usr/local/webserver
PS: yum install -y unzip zip
3、建立运行用户并赋权限
# useradd sonar;chown -R sonar:sonar /usr/local/webserver/sonarqube-6.7.1/
4、建立软链接
# ln -s /usr/local/webserver/sonarqube-6.7.1 /usr/local/webserver/sonarqube
# ln -s /usr/local/webserver/sonarqube/bin/linux-x86-64/sonar.sh /usr/bin/sonar
5、更新配置
cat /usr/local/webserver/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
#----- MySQL 5.6+
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.web.host=0.0.0.0
sonar.web.context=/
sonar.web.port=9000
启用 sonar.web.javaOpts 并添加 -server参数
sonar.web.javaOpts=-Xmx512m -Xms512m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true
6、建立init快速启动文件
# vim /etc/init.d/sona
#!/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
su - sonar -c "/usr/bin/sonar $*"
# chmod +x /etc/init.d/sona
6、启动sonar
# /etc/init.d/sona start
三、安装SonarQube Scanner
1、去官网下载Scanner安装包
# wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-linux.zip
2、解压至安装路径
# unzip sonar-scanner-cli-3.0.3.778-linux.zip -d /usr/local/webserver/
3、建立软链接
# ln -s /usr/local/webserver/sonar-scanner-3.0.3.778-linux /usr/local/webserver/sonar-scanner
# ln -s /usr/local/webserver/sonar-scanner/bin/sonar-scanner /usr/bin/sonar-scanner
4、更新sonar-scanner配置
cat /usr/local/webserver/sonar-scanner/conf/sonar-scanner.properties
sonar.host.url=http://10.64.60.56:9000
sonar.sourceEncoding=UTF-8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://10.64.60.56:3306/sonar?useUnicode=true&characterEncoding=utf8
5、下载项目代码到本地进行分析。
# git clone http://gitlab.hupu.com/lilei/kaluli-custom.git
6、手动编写sonar-project.properties文件
# cd kaluli-custom/
# vim sonar-project.properties
sonar.projectKey=my:kaluli-custom
sonar.projectName=kaluli-custom
sonar.sources=.
sonar.sourceEncoding=UTF-8
7、sonar-scanner //扫描代码生成报告
8、登陆sonar web即能看到kaluli-custom的分析报告