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

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

简介:

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,出现如下界面即为安装成功。

img_757edc51f83f9dd799a2652802fce433.png
Paste_Image.png

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

img_7531e2352272a95feea64fd0ab4e432b.png
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—>保存

img_261b7bb763a2b1f03bd5aec8ad96a5f2.png
Paste_Image.png
img_05f6ad693fe76ffd52ac847348d8bde0.png
Paste_Image.png

3、配置SonarQube服务器

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

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

img_d3e410fd730920387889a60c5296168d.png
Paste_Image.png

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

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

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

配置如下:

img_bb614de8e611ea638e10f7f46d5f19b0.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设置的一些细节

img_b39a26ac4fccb82d83379c9ac1fda57c.png
Paste_Image.png
img_5f498359e874627038dfcd2618422986.png
Paste_Image.png
相关文章
|
2月前
|
存储 运维 jenkins
放弃"Jenkins"的种种理由,期待更好赋能研发的"持续交付平台"
Jenkins 很酷,但是不完美,有历史局限性造成的问题。本文仅从“如何更好给研发团队赋能的角度”,剖析Jenkins, 探讨理想的持续交付平台, 不带货无广告~
|
5月前
|
jenkins 持续交付 网络安全
Jenkins安装SSH插件
Jenkins安装SSH插件
75 0
|
6月前
|
jenkins Java Linux
Linux(centos 7.5)安装Jenkins
Linux(centos 7.5)安装Jenkins
109 0
|
6月前
|
域名解析 jenkins Java
Jenkins的安装与升级
Jenkins的安装与升级
119 0
|
6月前
|
jenkins 持续交付 数据安全/隐私保护
企业实战(23)基于Docker平台的Jenkins凭据管理与应用(4)
企业实战(23)基于Docker平台的Jenkins凭据管理与应用(4)
|
4月前
|
jenkins Java 持续交付
Jenkins基础入门与安装配置详解
Jenkins基础入门与安装配置详解
94 1
|
17天前
|
人工智能 Oracle jenkins
【Jenkins】新手安装、运行Jenkins(详细教学)
【Jenkins】新手安装、运行Jenkins(详细教学)
|
24天前
|
jenkins Java 持续交付
Docker搭建持续集成平台Jenkins最简教程
Jenkins 是一个广泛使用的开源持续集成工具,它能够自动化构建、测试和部署软件项目。在本文中,我们将使用 Docker 搭建一个基于 Jenkins 的持续集成平台。
108 2
|
4月前
|
存储 jenkins Java
CentOS上安装Jenkins
CentOS上安装Jenkins
88 0
|
2月前
|
jenkins Java 持续交付
Docker 安装 Jenkins 2.414
【2月更文挑战第1天】 Docker 安装 Jenkins 2.414 镜像下载、插件配置
111 3
Docker 安装 Jenkins 2.414