您的位置:首页 > 编程语言

SonarQube代码质量管理平台安装及与Jenkins的集成

2016-08-31 11:39 976 查看
Sonar简介

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量

通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测

预置条件

1.JDK版本支持

SonarQube 5.6 (LTS *) – Jun. 3, 2016 Long Term Supported version,requires Java 8 to run
Version from SonarQube 5.1.2 to SonarQube5.5 Should work fine with Java 7.

2. 需要Mysql数据库支持

   sonar支持的数据库类型有apache derby,h2,sqlserver,mysql.orcale.postgreSQL等多种数据库,如果只做测试可以使用sonar自带的h2,或derby。他们不需要任何安装。
   如果使用其他数据库,仅仅需要创建一个数据库或表空间,提供sonar增删改查数据库权限的账号即可。表和索引将在sonar第一次运行的时候创建。
  在这里我们使用的是mysql数据库。创建语句如下:
        CREATEDATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
        CREATEUSER 'sonar' IDENTIFIED BY 'sonar';
        GRANTALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
        GRANTALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
        FLUSHPRIVILEGES;

   3.安装及配置sonar
在安装之前,介绍一下SonarQube和SonarQube Scanner之间的关系。
SonarQube是服务器端,它主要有两个功能:1.分析源代码;2.因为它内嵌了Apache模块,所以提供Web端的界面访问。
SonarQube Scanner是一个利用SonarQube服务端分析代码的命令行工具,可以把它简单理解为客户端。

安装SonarQube
1.下载sonarqube安装包
 wget -chttp://downloads.sonarsource.com/sonarqube/sonarqube-5.0.1.zip
2.解压
 unzip sonarqube-5.0.1.zip
3.放到指定目录
mv sonarqube-5.0.1/usr/local
4.配置环境变量
# vi + /etc/profile
添加
SONAR_HOME=/usr/local/sonarqube-5.0.1
export SONAR_HOME
保存退出并使配置生效
source /etc/profile
5.配置sonar-runner.properties
  在sonarqube解压包下编辑conf/sonar.properties文件,该文件中所有注释掉的数据库连接模板都是支持的,只需要去掉注释更改为自己的数据库连接即可。同时将默认的自带数据库连接注释去掉。
 一般需要配置以下属性:
 这里使用MySQL数据库
 vi /usr/local/sonarqube-5.0.1/conf/sonar.properties
sonar.host.url=http://localhost:9000
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://192.168.8.234:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.web.host=0.0.0.0
#修改访问路径
sonar.web.context=
#修改snoar端口,默认为9000
sonar.web.port=9000
6.启动服务
 /usr/local/sonarqube-5.0.1/bin/linux-x86-64/sonar.shstart
./sonar.sh stop   停止服务 
./sonar.sh restart重启服务
启动成功后在浏览器地址栏输入http://localhost:9000即可访问snoarQube.
缺省用户名和密码是 admin/admin
7.汉化
 Settings-->SYSTEM-->UpdateCenter-->Available Plugins--> LOCALIZATION选择chinesePack点击Install.
 重启SonarQube.
 

安装SonarQube Scanner

1.下载sonarqube安装包
wget -chttps://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.6.1.zip
2.解压
 unzip sonar-scanner-2.6.1.zip
3.放到指定目录
mv sonar-scanner-2.6.1.zip/usr/local
 

Jenkins集成SonarQube

 

安装SonarQube Plugin

管理员权限登录Jenkins,选择:系统管理-->插件管理-->可选插件;搜索SonarQube Plugin,勾选,安装后重新启动JenKins。



 
重启Jenkins后,管理员权限登录进入:系统管理--> Global Tool Configuration;多出了如下两个全局配置项:SonarQubeScanner for MSBuild、SonarQube
Scanner。



配置SonarQube Scanner,Name项可以自定义,SONAR_RUNNER_HOME项填写SonarQube Scanner的安装路径。



 
系统管理-->系统设置
配置SonarQubeserv





配置完毕后,虽然网上有文章说要在构建中添加pre-steps 或者是post-steps,但是我发现原先定义的构建已经自动添加了sonar scanner自动扫描分析。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息