Jenkins 配置 FindBugs,Checkstyle,PMD 实现代码的静态检查 (14)
一、插件介绍
FindBugs:静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。利用这个工具,就可以在不实际运行程序的情况对软件进行分析。它可以帮助改进代码的质量。
CheckStyle:检测代码格式是否规范,命名规范,重复变量,是否有多余的空行,代码注释是否规范;
PMD:与FindBugs类似,主要包括:空try/catch/finally/switch语句块未使用的局部变量、参数和private方法,空if/while语句,过于复杂的表达式,如不必要的if语句等,复杂类;
二、Jenkins 集成 FindBugs、CheckStyle、PMD插件;
1.安装插件
系统管理 -> 管理插件 -> 可选插件-> 搜索 Findbugs,Checkstyle,PMD 并且选中进行安装,安装成功以后重新启动Jenkins;
2.Jenkins任务中配置Findbugs插件;
在构建的时候Goals and options添加参数 findbugs:findbugs checkstyle:checkstyle pmd:pmd,使其在代码构建中执行代码检查

构建设置中选择"Publish FindBugs analysis results","Publish Checkstyle analysis results","Publish PMD analysis results"选择以后会在构建完成生成分析报告;

每个选项里面有一个高级的功能,这个功能主要是让我们来定义规则,意思在发现什么级别的问题,会使任务变成构建是成功还是失败;如果项目设置了构建成功失败会发送邮件给相关的人员,我建议这里需要设置,这样就可以很好的衡量出来这次构建到底有没有不符合代码检查规范的问题。

构建结束以后可以再任务详情里面找到FindBugs Warnings,Checkstyle Warnings, PMD Warnings 查看运行的结果

运行报告



当我们多次运行任务我们可以看到每次运行结果的走势图,如果每次构建都不会修改上次问他,这个图会持续走高,我这里构建是为了演示,重复多次构建出现一个平滑的走势图。

Jenkins 配置 FindBugs,Checkstyle,PMD 实现代码的静态检查 (14)的更多相关文章
- jenkins+maven配置findbugs+checkstyle+pmd
一.findbugs+checkstyle+pmd介绍 工具 目的 检查项 FindBugs 检查.class 基于Bug Patterns概念,查找javabytecode(.class文件)中的潜 ...
- QtCreator 可以通过 Clang-Tidy 和 CLazy 对你的代码进行静态检查
QtCreator 可以通过 Clang-Tidy 和 CLazy 对你的代码进行静态检查 打开你的工程,点击Analyze -> Clang-Tidy and CLazy 选择你想分析的 cp ...
- 干货!Jenkins下配置findbugs、pmd及checkstyle实现代码自动检测
配置前提: 对于maven项目来说,需要在pom.xml文件的<build><plugins>添加配置</plugins></build> 网上有些地方 ...
- jenkins+findbugs+checkstyle+PMD静态代码检查(二)
可以根据自己的需求选中对应的插件进行配置(不一定非要同时配置三个插件) jenkins:持续集成的工具 fundbugs:检测代码静态错误的插件 例如:定义了没有用到的对象,string类型的比较使 ...
- Jenkins安装和配置FindBugs、PMD、CheckStyle等插件
最近研究Jenkins的常用插件的使用,主要使用FindBugs.PMD.CheckStyle.Violations.Emma等插件,主要参考了http://blog.csdn.net/dc_726/ ...
- jenkins配置记录(2)--代码发布流程
在我们的日常运维工作中,使用jenkins来完成业务代码发版上线是至关重要的一环.前面已经提到在jenkins上添加用户权限的操作,今天重点说下如何在jenkins下构建项目工程进行代码发布? 在此简 ...
- jenkins配置findbugs失败---不要随便忽略警告!一个因为文件所有权引发的血案
一:背景交代 这两天组长让我这边搭一个持续集成环境.梳理了需求后,因为我们的项目都是maven项目,所以我选择了jenkins+外置maven(区别于直接从jenkins里面安装)的方案.(cento ...
- findbugs, checkstyle, pmd的myeclipse7.5+插件安装(转:http://blog.csdn.net/priestmoon/article/details/63941)
CheckStyle (1)下载net.sf.eclipsecs_5.3.0.201012121300-updatesite-.zip (2)打开MyEclipse,Help->Software ...
- pycharm 对代码做静态检查
对于下面这种情况,java c这些提前编译的语言,不给你运行机会就立马报错了,但对于动态语言运行之后才能报错,用运行的方法来检查代码错误是在是太坑了,这是py对比静态语言的巨大劣势,尤其是代码文件多行 ...
随机推荐
- Python自学:第二章 注释
#向大家问好 print("Hello Python People") 输出为 Hello Python People
- 数独_erlang解题代码
前几天LP玩数独,玩到大师级各种被虐,我看了看说,分分钟帮你做出来, 结果当然没有做出来. 于是上网搜了下数独的解题代码,看了下C的代码,大多是递归之类的(如http://blog.sina.com. ...
- openLDAP环境搭建
OpenLDAP搭建 PS:本次实验是基于centos7,OpenLDAP使用2.4.44版本. 一.初始化环境 1.初始化环境 命令如下: ntpdate -u ntp.api.bz & ...
- jQuery获取包括当前元素的HTML
1.获取当前元素内的HTML (1)方法一 $("#current").html(); (2)方法二 document.getElementById("current&q ...
- Python 3.6.5 导入pymysql模块出错:No module named 'pymysql'
检查一下项目设置中的解释器. 查看是否添加PyMySQL模块,如果没有请添加PyMySQL模块
- web项目执行流程
先扫描web.xml文件 jsp请求servlet servlet 调数据/不调数据 重定向/转发 Dao(封装数据) Biz(数据处理) 逻辑判段 返回前端界面显示
- 常用模块Part(2)
logging模块 hashlib模块 hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. # 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个 ...
- hibernate操作mysql插入修改中文出现乱码
第一步:mysql的安装目录下配置文件my.ini里面的所有default-character-set改成default-character-set = utf8: 第二部:建立数据库时候字符集选项选
- day34-python操作redis三
Hash类型操作 Hash类型操作 Redis在内存中存储hash类型是以name对应一个字典形式存储的 hset(name,key,value) #name对应的hash中设置一个键值对(不存在,则 ...
- 复现 360 Unicorn Team 黑科技之 HackNFC
看了2条360 Unicorn Team的微博后,感觉蛮有趣的,打算复现一下 谷歌了下相关资料,在HACKADAY找到了介绍文章 还有2篇北邮工学硕士的论文,欢迎有兴趣的朋友和我一起交流~ 联系方式在 ...