代码质量分析平台sonarqube+jenkins集成

SonarQube 介绍

SonarQube 是 一个开源的代码质量分析平台,便于管理代码的质量,可检查出项目代码的漏洞和潜在的逻辑问题。同时,它提供了丰富的插件,支持多种语言的检测,
如 Java、Python、Groovy、C、C++等几十种编程语言的检测。它主要的核心价值体现在如下几个方面:

检查代码是否遵循编程标准:如命名规范,编写的规范等。
检查设计存在的潜在缺陷:SonarQube 通过插件 Findbugs、Checkstyle 等工具检测代码存在的缺陷。
检测代码的重复代码量:SonarQube 可以展示项目中存在大量复制粘贴的代码。
检测代码中注释的程度:源码注释过多或者太少都不好,影响程序的可读可理解性。
检测代码中包、类之间的关系:分析类之间的关系是否合理,复杂度情况。

 

SonarQube 平台是由 4 个部分组成:

  • SonarQube Server
  • SonarQube Database
  • SonarQube Plugins
  • SonarQube Scanner

SonarQube 工作流程

SonarQube 在进行代码质量管理时,会从下图 所示的七个纬度来分析项目的质量。

官方地址:https://www.sonarqube.org/

环境准备:

注意:sonar服务器至少需要2G的内存才能有效运行,而操作系统则需要1GB的可用内存。

sonarqube-7.2.1

MySQL 5.7

JDK 1.8.0_222

Centos 7.4

版本说明:

sonarqube5.6+ 必须要JDK1.8,所以JDK1.7下只能安装sonar5.5 . 社区版不需要注册秘钥。
为安全起见,sonar的安装和启动不用root用户,而是用低权限的linux用户。

SonarQube安装

1、数据库配置

创建SonarQube 服务所需的数据库:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonarpassword';

FLUSH PRIVILEGES;

2、SonarQube配置

下载 SonarQube7.2 后解压。按如下配置修改 $SONAR_HOME/conf/sonar.properties 文件:

sonar.jdbc.username=sonar
sonar.jdbc.password=sonarpassword

sonar.jdbc.url=jdbc:mysql://192.168.1.3:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

sonar.web.host=0.0.0.0 

sonar.web.context=/

sonar.web.port=9000

3、启动SonarQube

创建普通用户,SonarQube整个目录全部授权普通用户所属组权限

进入sonar的bin目录($SONAR_HOME/bin/linux-x86-64),执行脚本 sonar.sh start
浏览器中访问 http://192.168.1.50:9000/ 

默认登录账户 admin 密码 admin,可登录后修改密码。

3.1 配置sonarqube开机启动

(1)添加sonar环境变量

修改 ~/.bash_profile

cat ~/.bash_profile
SONAR_HOME=/sie/sonarQube/sonarqube
PATH=PATH:$SONAR_HOME/bin/linux-x86-64
export PATH SONAR_HOME

2)/etc/init.d 下增加sonar 文件

#!/bin/sh
# chkconfig: 345 96 10
# description: SonarQube system
#
# Provides: sonar
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: SonarQube system
# Description: SonarQube system

/usr/bin/sonar $*

(3)加入开机启动列表

ln -s $SONAR_HOME/bin/linux-x86-64/sonar.sh /usr/bin/sonar

chmod 755 /etc/init.d/sonar

chkconfig --add sonar

4、汉化

下载 sonarqube7.2 汉化包 ,是个jar包,放到$SONAR_HOME/extensions/plugins ,重启sonarqube (sonar.sh restart)

5.Sonar 集成Jenkins使用

5.1.设置sonar中的令牌

用 admin 用户登陆 sonarQube,【配置】–>【权限】 –>【用户】

5.2.Jenkins 安装sonar相关插件

安装红框中的两个插件即可

5.3.Jenkins配置sonar插件

点击【系统管理】 –> 【系统设置】 配置 Sonar认证信息,设置完保存

点击【系统管理】 –> 【全局工具配置】,配置sonar扫描器信息

5.4.Jenkins job 中配置sonar

sonar.projectKey=项目工程
sonar.projectName=环境项目工程
sonar.projectVersion=1.0版本
sonar.language=java
sonar.java.source=1.8
sonar.sources=项目工程/src
sonar.java.binaries=构建目录
sonar.login=账号
sonar.password=账号密码

 

或者

sonar.projectKey=项目工程
sonar.projectName=项目工程
sonar.projectVersion=1.0
sonar.login=在jenkins配置凭据的ID

sonar.sourceEncoding=UTF-8

sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE

这样我们Jenkins中sonar的部分就配置完了,我们可以保存job进行构建,构建完成,可以通过构建历史,直接跳转到sonar到分析页面,如下图所示

查看分析结果

构建jenkins job后,分析结果将发送到sonarqube。

就这样,代码质量分析平台sonarqube实现完成。可以投入使用了。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

划水的运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值