Jenkins SonarQube代码质量管理

  • A+
所属分类:Jenkins

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

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

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

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

一.安装要求

Centos 7

JDK: 1.8

RAM: 2G

MYSQL: 5.6

SonarQube:5.6.6

二.准备环境

1.创建Mysql数据库

mysql>create database sonar character set utf8 collate utf8_general_ci;

mysql>create user 'sonar' identified by 'sonar@123';

mysql>grant all on sonar.* to 'sonar'@'%' identified by 'sonar@123';

mysql>grant all on sonar.* to 'sonar'@'localhost' identified by 'sonar@123';

mysql>flush privileges;

三.安装Sonarqube

1.下载

wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.6.6.zip

2.解压

unzip sonarqube-5.6.6.zip

mv sonarqube-5.6.6 /opt/sonarqube

3.配置环境变量

使配置生效

source /etc/profile

4.修改配置文件

5.配置DB驱动(Mysql此步骤省略)

sonar默认支持h2、mssql、mysql、postgresql数据库,如使用oracle jdbc需手动把驱动复制到/opt/sonarqube/extensions/jdbc-driver/oracle/中

6.创建sonar软连接

ln -s /opt/sonarqube/bin/linux-x86-64/sonar.sh /opt/sonarqube/bin/sonar

7.启动

/opt/sonarqube/bin/linux-x86-64/sonar.sh start或sonar start

8.添加防火墙策略

firewall-cmd --permanent --zone=public --add-port=9000/tcp

firewall-cmd --reload

9.安装中文插件,默认登录用户名和密码都是admin

Jenkins SonarQube代码质量管理

安装完插件后重启一下sonar

sonar restart

重启完后登录界面已经变成中文的了。

10.安装语言插件(分析什么语言,你就需要安装什么语言的插件)

默认自带语言插件有C#,Java,JS,安装Python

Jenkins SonarQube代码质量管理

四.SonarQube Scanner

1.下载

wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-linux.zip

2.解压

unzip sonar-scanner-cli-3.0.3.778-linux.zip

mv sonar-scanner-3.0.3.778-linux/ /opt/sonar-scanner

3.配置环境变量

更新配置

source /etc/profile

4.修改配置文件,关联sonar

5.测试是否配置成功

sonar-scanner -h

四.与Jenkins集成

1.安装插件

Jenkins SonarQube代码质量管理

2.生成连接token

Jenkins SonarQube代码质量管理      3.配置Jenkins SonarQube

Jenkins SonarQube代码质量管理

4.Jenkis 配置 SonarQube Scanner

Jenkins SonarQube代码质量管理

5.现有项目添加SonarQube  Scanner

因项目配置了版本回滚,所以我们在生成war包后在Post Steps项添加检测源码

Jenkins SonarQube代码质量管理
6.构建并查看Sonar

Jenkins SonarQube代码质量管理
注:SonarQube Scanner进行代码分析,第一种是使用构建后步骤,第二种是在构建的过程中增加 SonarQube Scanner 的步骤。此处使用的是构建过程中

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: