关闭

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

标签: sonarqubesonar scannerjenkins
3200人阅读 评论(1) 收藏 举报
分类:

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 derbyh2,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

在安装之前,介绍一下SonarQubeSonarQube 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

 

  1. 安装SonarQube Plugin

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

 

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

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

 

系统管理-->系统设置

配置SonarQubeserv



配置完毕后,虽然网上有文章说要在构建中添加pre-steps 或者是post-steps,但是我发现原先定义的构建已经自动添加了sonar scanner自动扫描分析。
2
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:58590次
    • 积分:983
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:14篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论