开发者社区> shaonbean> 正文

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

简介:
+关注继续查看

使用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.conf。
2.在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得出原因。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
代码质量管理:SonarQube + Jenkins Pipeline配置
前段时间对自己的项目进行代码质量扫描,曾经以为自己的代码质量算是不错的,结果发现一堆的bug或者smell code,灵魂受到1w点伤害。
37 0
Jenkins Pipeline集成Sonar进行代码质量检测
Jenkins Pipeline集成Sonar进行代码质量检测 简介 jenkins pipeline Jenkins Pipeline (或简称为 "Pipeline" )是一套jenkins插件,将持续交付的实现和实施集成到 Jenkins 中。
3255 0
2❤️Jenkins从零到壹❤️ :第一个maven构建项目(JAVA 小虚竹)
2❤️Jenkins从零到壹❤️ :第一个maven构建项目(JAVA 小虚竹)
47 0
大中台模式下如何构建复杂业务核心状态机组件
大中台战略下,中台将公司业务的公共能力下沉,并采用更加合理、可复用的架构和技术来实现这些基础能力。在电商行业内,将面临货物的采购、商品上架、交易发生、订单状态变化、客服介入等大量状态维护。
580 0
Visual Studio及TFS进行单元测试、负载测试、代码覆盖率、每日构建配置
这是以前在VS2010上让同事做的相关工作的备案,现在VS2012都出来了,2010都快过期,帖出来共享一下。 一、单元测试 微软官方给出的指导和示例在这里。一步一步按照说明下来就可以完成。(不截图说明了)。
2160 0
分享实录 | 阿里巴巴代码缺陷检测探索与实践
3月3日,阿里巴巴算法工程师别象在云效DevOps交流群中分享了《阿里巴巴代码缺陷检测探索与实践》。从阿里巴巴代码平台在探索缺陷检测和补丁推荐问题时遇到的挑战入手,介绍了目前业界和学术界较为流行的缺陷检测手段,并针对其局限性,提出PRECFIX方法。
4670 0
start.aliyun.com 正式上线!极速构建 bootstrap 应用
背景 相信很多人都使用过start.spring.io来初始化自己的spring boot工程,这个工具为开发者提供了丰富的可选组件,并且可以选择多种打包方式,大大方便了开发人员的使用。最近,阿里的nacos、sentinel也进入start.spring.io的选项中,进一步的方便开发者使用阿里云的产品。
849 0
+关注
shaonbean
To grow and to help others grow. To live and to help others live DevOps is everything!
36
文章
8
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载