Jenkins + Maven + SonarQube 构建代码质量检测平台

原创 2017年08月21日 17:21:21

使用SonarQube扫描仪分析Maven

安装jenkins

安装Maven

安装SonarQube

配置Jenkins + Maven + SonarQube

  • SonarQube 登录

access-sonar

用户密码为安装sonar设置的用户名和密码

  • 登录到sonar平台,设置 administration -security -user -administrator (右键,重新获取一个tokens,名字自定义)

get-tokens

右键复制 获取的tokens,然后去jenkins里面配置 sonar

  • jenkins登录 -> configure system -> SonarQube servers

config-sonar

注:笔者安装的服务统一使用域名的方式访问。如果有需要,记得本地设置hosts

  • 配置maven

编辑位于$ MAVEN_HOME / conf或〜/ .m2中的settings.xml文件,设置插件前缀和可选的SonarQube服务器URL

<settings>
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>
    <profiles>
        <profile>
            <id>sonar</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!-- Optional URL to server. Default value is http://localhost:9000 -->
                <sonar.host.url>
                  http://sonar.aniu.so  # 填写自己的sonar服务器地址
                </sonar.host.url>
            </properties>
        </profile>
     </profiles>
</settings>
  • 分析一个Maven项目

移动到一个maven项目目录内,执行下面命令

mvn clean verify sonar:sonar 
# 此段命令也可以在jenkins配置,如下:

这里写图片描述

mvn 分析完成之后,登录sonar平台查看分析结果

这里写图片描述

从图中可以很明显的看出此项目存在347个BUG,然后给开发创建sonar账号,让他们帮忙修复。。。

相关报错解决

  • Sonargraph Integration: Skipping project aniu-api-product [tv.aniu:aniu-api-product], since no Sonargraph rules are activated in current SonarQube quality profile [SonarQube]

此报错暂时不影响maven 集成到 sonar上

  • 413 Request Entity Too Large

原因是nginx默认上传文件的大小是1M,可nginx的设置中修改

解决方法如下:
1.打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/nginx.conf2.在http{}段中加入 client_max_body_size 20m; 20m为允许最大上传的大小(大小可自定义)。
3.保存后重启nginx,问题解决。
  • sonar Failed to upload report - 500: An error has occurred

Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (22790518 > 16777216). You can change this value on the server by setting the max_allowed_packet’ variable.

show variables like '%max_allowed_packet%';
更改mysql 的max_allowed_packet参数,设置 max_allowed_packet = 64M ,然后重启mysql
[mysqld]
max_allowed_packet=32M
https://dev.mysql.com/doc/refman/5.7/en/packet-too-large.html

注:这里报错可以通过查看sonar的web.log得出原因。

版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。

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

1.     预置条件 1.1  JDK版本支持 SonarQube 5.6 (LTS *) – Jun. 3, 2016 Long Term Supported version,requires...
  • w171066
  • w171066
  • 2016年08月31日 11:39
  • 3941

SonarQube代码质量管理平台搭建手册(集成jenkins进行自动化代码审查)

SonarQube代码质量管理平台搭建手册(集成jenkins进行自动化代码审查)1.安装SonarQube1.1 步骤1 准备好java环境(本次测试系统为windows,linux环境下可参...

使用 Docker 搭建代码质量检测平台 SonarQube

使用 Docker 搭建代码质量检测平台 SonarQube    前言 想成为一名优秀的工程师,代码质量一定要过关! 前提 安装最新版的 Docker ! 开...
  • xl_lx
  • xl_lx
  • 2017年12月05日 11:09
  • 9

SonarQube与Jenkins结合提高代码质量

如何通过SonarQube与Jenkins结合提高代码质量,加快开发速度。

SonarQube代码质量管理平台的安装

  • 2016年06月17日 15:42
  • 422KB
  • 下载

使用Docker搭建SonarQube检测代码质量

SonarQube 简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 可以通过插件形式,支持包括java,C#,C/C++,PL/SQL,C...

maven+sonarqube测试代码质量

前提:安装好sonarqube 参考教程《linux下安装sonarqube5.6.6》 测试过程 ①.修改本地maven的settings.xml 节点中添加如下配置: sonar ...

SonarQube代码质量管理平台安装与使用

Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,Java...

SonarQube代码质量管理平台安装与使用

Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代...
  • yuan_xw
  • yuan_xw
  • 2017年01月28日 17:21
  • 2025

SonarQube代码质量管理平台安装与使用

http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Jenkins + Maven + SonarQube 构建代码质量检测平台
举报原因:
原因补充:

(最多只允许输入30个字)