天天看点

持续集成篇【3】:SonarQube代码质量管理平台的安装及使用一、SonarQube代码质量管理平台的安装二、SonarQube代码质量管理平台的配置与使用

SonarQube代码质量管理平台的安装及使用

  • 一、SonarQube代码质量管理平台的安装
    • 1、安装MySQL5.1
    • 2、配置MySQL
    • 3、创建sonarqube数据库(UTF-8编码)
    • 4、安装SonarQube的Web Server
  • 二、SonarQube代码质量管理平台的配置与使用
    • 1、安装中文汉化包:
    • 2、MyEclipse/Eclipse中安装SonarQube插件的安装、配置、使用
    • 3、Maven分析器插件的配置与使用
    • 4、配置:
    • 5、质量配置介绍(切换默认配置)
    • 6、代码规则介绍(自定义规则)
    • 7、问题处理介绍(质量管理的体现)
    • 8、指表
    • 9、仪表盘(自定义)

一、SonarQube代码质量管理平台的安装

  • IP:192.168.0.221
  • 环境:CentOS 6.6、JDK7、MySQL5.1 、SonarQube-4.5.4(LTS)
  • root用户操作
  • 准备工作:已安装JDK7并配置好了环境变量

1、安装MySQL5.1

  • (可参考前面SVN管理平台的MySQL安装步骤,如果已安装则无需安装)
  • rpm -qa | grep mysql

  • 查看该操作系统上是否已经安装了mysql数据库,有的话,可以通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉
  • yum install mysql-server mysql mysql-devel

  • service mysqld start

  • chkconfig --list | grep mysqld

    mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
  • 用上面的命令查看到MySQL并没有设置开机启动,所以需要设置开机启动
  • chkconfig mysqld on

  • 为了方便远程管理,防火墙中打开3306端口
  • vi /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
  • 重启防火墙,使端口配置生效
  • service iptables restart

  • 设置MySQL数据库root用户的密码:
  • mysqladmin -u root password 'hk.123'

  • 登录数据库:
  • mysql -u root -p

  • MySQL授权远程访问(先用root登录mysql)
  • mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hk.321' WITH GRANT OPTION;

  • mysql> FLUSH PRIVILEGES;

2、配置MySQL

  • 结合SonarQube,MySQL数据库最好使用InnoDB引擎,可提高性能。
  • 看你的mysql现在已提供什么存储引擎:

    mysql> show engines;

    持续集成篇【3】:SonarQube代码质量管理平台的安装及使用一、SonarQube代码质量管理平台的安装二、SonarQube代码质量管理平台的配置与使用
  • 看你的mysql当前默认的存储引擎:
  • mysql> show variables like '%storage_engine%';

    持续集成篇【3】:SonarQube代码质量管理平台的安装及使用一、SonarQube代码质量管理平台的安装二、SonarQube代码质量管理平台的配置与使用
  • 修改MySQL存储引擎为InnoDB, 在配置文件/etc/my.cnf中的[mysqld] 下面加入default-storage-engine=INNODB
# vi /etc/my.cnf
[mysqld]
default-storage-engine=INNODB
           
  • 重启mysql服务器
  • service mysqld restart

  • 再次登录MySQL查看默认引擎设置是否生效
mysql> show variables like '%storage_engine%';
+----------------+--------+
| Variable_name  | Value  |
+----------------+--------+
| storage_engine | InnoDB |
+----------------+--------+
           
  • innodb_buffer_pool_size 参数值设置得尽可能大一点
  • 这个参数主要作用是缓存innodb表的索引,数据,插入数据时的缓冲
  • 默认值:128M,专用mysql服务器设置的大小:操作系统内存的70%-80%最佳。
  • 设置方法:my.cnf文件[mysqld] 下面加入innodb_buffer_pool_size参数
# vi /etc/my.cnf
[mysqld]
innodb_buffer_pool_size = 256M
(我们这里设置为256M,因为我们的不是专用的MySQL数据库服务器,还有很多其他的服务需要占用系统内存)
           
  • 设置MySQL的查询缓存query_cache_size ,最少设置15M
vi /etc/my.cnf
[mysqld]
query_cache_type=1
query_cache_size=32M
           
  • 重启mysql服务器
  • service mysqld restart

  • 验证缓存设置是否生效:
mysql> show variables like '%query_cache%';
+------------------------------+----------+
| Variable_name                | Value    |
+------------------------------+----------+
| have_query_cache             | YES      |
| query_cache_limit            | 1048576  |
| query_cache_min_res_unit     | 4096     |
| query_cache_size             | 33554432 |
| query_cache_type             | ON       |
| query_cache_wlock_invalidate | OFF      |
+------------------------------+----------+
           

3、创建sonarqube数据库(UTF-8编码)

CREATE DATABASE IF NOT EXISTS sonarqube DEFAULT CHARSET 'UTF8';
           

4、安装SonarQube的Web Server

  • 下载最新LTS版的SonarQube安装包(当前版本为sonarqube-4.5.4.zip):
  • 下载地址:http://www.sonarqube.org/downloads/
    持续集成篇【3】:SonarQube代码质量管理平台的安装及使用一、SonarQube代码质量管理平台的安装二、SonarQube代码质量管理平台的配置与使用
  • http://dist.sonar.codehaus.org/sonarqube-4.5.4.zip
  • 下载:
  • wget http://dist.sonar.codehaus.org/sonarqube-4.5.4.zip

  • 解压安装:
  • unzip sonarqube-4.5.4.zip

  • mv sonarqube-4.5.4 sonarqube

  • 编辑sonar配置:
cd sonarqube/conf/
vi sonar.properties
sonar.jdbc.username=root
sonar.jdbc.password=hk.123
           
  • ----- MySQL 5.x
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.web.host=0.0.0.0
sonar.web.context=/sonarqube
sonar.web.port=9090
           
  • 保存以上配置(注意,要看看默认的9000端口是否已被占用)
  • 防火墙中打开9090端口:
  • vi /etc/sysconfig/iptables

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT
  • 重启防火墙,使端口配置生效
  • service iptables restart

  • 启动 SonarQube Web Server
  • /root/sonarqube/bin/linux-x86-64/sonar.sh start

  • (初次启动会自动建表和做相应的初始化)
  • 浏览器中输入:http://192.168.0.221:9090/sonarqube/
    持续集成篇【3】:SonarQube代码质量管理平台的安装及使用一、SonarQube代码质量管理平台的安装二、SonarQube代码质量管理平台的配置与使用
  • 登录,默认用户名/密码为 admin/admin
    持续集成篇【3】:SonarQube代码质量管理平台的安装及使用一、SonarQube代码质量管理平台的安装二、SonarQube代码质量管理平台的配置与使用
    持续集成篇【3】:SonarQube代码质量管理平台的安装及使用一、SonarQube代码质量管理平台的安装二、SonarQube代码质量管理平台的配置与使用
  • 到此,SonarQube已安装完毕,接下来是对SonarQube做相应的配置和使用

二、SonarQube代码质量管理平台的配置与使用

  • SonarQube的配置(前提,先用admin用户登录)

1、安装中文汉化包:

  • Setting >> Update Center >> Available Plugins >> LOCALIZATION >> Chinese Pack>> Install
  • 安装完汉化包之后需要重启SonarQube才能生效(重启前可顺便把CheckStyle、PMD等插件安装下)
  • ####针对老版本更新不了语言包等插件,点击以下链接进行下载(资源描述有使用说明)####
  • https://download.csdn.net/download/hekaihaw/11029427
  • /root/sonarqube/bin/linux-x86-64/sonar.sh restart

Stopping SonarQube...
Stopped SonarQube.
Starting SonarQube...
Started SonarQube.
           
  • 重启完之后刷新SonarQube:http://192.168.0.221:9090/sonarqube/
  • 汉化成功(注意,汉化包并没有完全汉化)
  • 重新登录

2、MyEclipse/Eclipse中安装SonarQube插件的安装、配置、使用

http://docs.sonarqube.org/display/SONAR/SonarQube+in+Eclipse
http://docs.sonarqube.org/display/SONAR/Installing+SonarQube+in+Eclipse
http://docs.sonarqube.org/display/SONAR/Configuring+SonarQube+in+Eclipse
http://docs.sonarqube.org/display/SONAR/Working+with+SonarQube+in+Eclipse
           

3、Maven分析器插件的配置与使用

  • http://docs.sonarqube.org/display/SONAR/Installing+and+Configuring+Maven
  • 在Maven本地库中的settings.xml(我这里是settings_edu.xml)配置文件中的
  • 节点中添加如下配置:
<profile>
	<id>sonar</id>
	<activation>
		<activeByDefault>true</activeByDefault>
	</activation>
	<properties>
		<!-- Example for MySQL-->
		<sonar.jdbc.url>
				jdbc:mysql://192.168.0.221:3306/sonarqube?useUnicode=true&amp;characterEncoding=utf8
		</sonar.jdbc.url>
		<sonar.jdbc.username>root</sonar.jdbc.username>
		<sonar.jdbc.password>hk.3211</sonar.jdbc.password>
		<!-- Optional URL to server. Default value is http://localhost:9000 -->
		<sonar.host.url>http://192.168.0.221:9090/sonarqube</sonar.host.url>
	</properties>
</profile>
           
  • 使用Maven分析器进行分析,命令:
  • 纯Maven命令:

    mvn clean install sonar:sonar

  • Eclipse中执行:

    clean install sonar:sonar

  • (如果你是第一次运行此命令,看执行日志你会发现它会先下载sonar-runner等插件)成功执行完分析命令后便可到Web Server中查看代码质量分析结果数据。

4、配置:

  1. 配置
  2. 权限
  3. 系统

5、质量配置介绍(切换默认配置)

6、代码规则介绍(自定义规则)

7、问题处理介绍(质量管理的体现)

8、指表

9、仪表盘(自定义)

继续阅读