Jenkins+Sonar使用大型网站架构程序员

jenkins+SonarQube6.2代码质量管理平台安装与使

2017-02-14  本文已影响6098人  jackcooper

简介:

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量
通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测

sonarQube能干什么?

1.糟糕的复杂度分布
2.重复
3.缺乏单元测试
4.没有代码标准
5.没有足够的或者过多的注释
6.潜在的bug
7.糟糕的设计(原文Spaghetti Design,意大利面式设计)

SonarQube安装

说明:此处略过java,mysql,jenkins安装配置,如果不会,请百度学习。本文主要讲解sonarQube安装及与jenkins的整合

1、SonarQube6.2下载地址:https://www.sonarqube.org/downloads/

(下载包中包含各种系统下的安装脚本,本人选择用linux下安装)

2、解压后,找到sonarqube-6.2/bin/linux-x86-64目录下,执行./sonar.sh启动即可

3、访问http://ip:9000,出现如下界面即为安装成功。

Paste_Image.png

4、管理员登录(默认用户名密码admin),管理员区域找到chinese Pack,安装后重启,及汉化完成。

Paste_Image.png

5、配置mysql数据库,管理员建数据库sonarqube,修改{sonardir}/conf/sonar.properties,配置如下(示例):

sonar.jdbc.url=jdbc:mysql://10.168.16.116:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=root
sonar.jdbc.password=devApp2013

6、如果是本机使用请参考http://www.cnblogs.com/qiaoyeye/p/5249786.html,本文主要介绍与jenkins的集成。

Jenkiins配置使用sonarQube

1、安装 SonarQube Plugin插件,系统管理插件管理—>可选插件—>SonarQube Plugin安装即可。

2、配置SonarQube Scanner,系统管理—>Global Tool ConfigurationSonarQube ScannerSonarQube Scanner安装—>选择2.8—>保存

Paste_Image.png Paste_Image.png

3、配置SonarQube服务器

系统管理系统设置—>SonarQube servers保存
(其中这里的  Server authentication token不是密码,需要在服务器端生成)
Paste_Image.png

4、登录SonarQube,配置—>权限用户—>管理员—>generate Tokens。生成后赋值到3中的位置。

Paste_Image.png
配置sonarqube,关闭经用SCM传感器配置为是,这一步操作完毕,jenkins才能真正使用sonarqube Server服务器,否则,否则质量分析时会出错
Paste_Image.png

5、jenkins中持续集成项目整合sonarQube

{项目}—>配置Add pre-build step
Paste_Image.png

配置如下:

Paste_Image.png

配置文件sonar.properties示例:

#required metadata
#projectKey项目的唯一标识,不能重复
sonar.projectKey=xjglxt
sonar.projectName=xjglxt
sonar.projectVersion=1.0 
sonar.sourceEncoding=UTF-8
sonar.modules=java-module,javascript-module,html-module

# Java module
java-module.sonar.projectName=Java Module
java-module.sonar.language=java
# .表示projectBaseDir指定的目录
java-module.sonar.sources=.
java-module.sonar.projectBaseDir=src
sonar.binaries=classes

# JavaScript module
javascript-module.sonar.projectName=JavaScript Module
javascript-module.sonar.language=js
javascript-module.sonar.sources=js
javascript-module.sonar.projectBaseDir=webRoot

# Html module
html-module.sonar.projectName=Html Module
html-module.sonar.language=web
html-module.sonar.sources=pages
html-module.sonar.projectBaseDir=webRoot

sonar.projectKey=org.codehaus.sonar:php-sonar-runner-unit-tests
sonar.projectName=PHP project analyzed with the SonarQube Runner reusing PHPUnit reports
sonar.projectVersion=1.0
sonar.sources=src
sonar.tests=tests
sonar.language=php
sonar.sourceEncoding=UTF-8
# Reusing PHPUnit reports
sonar.php.coverage.reportPath=reports/phpunit.coverage.xml
sonar.php.tests.reportPath=reports/phpunit.xml

6、大功告成

SonarQube设置的一些细节

Paste_Image.png Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读