1.FindBugs简介

FindBugs是一个Java项目的静态代码扫描工具,它支持的项目类型包括Maven、Grade和Ant等,可以在不运行程序的前提下对软件进行潜在Bug的分析,帮助团队在程序运行之前就最大限度地发现隐藏较深的问题(Bug),用FindBugs发现的问题(Bug)包含真正的缺陷和潜在发生的错误。可以把FindBugs持续集成工具Jenkins进行集成,在代码提交后自动对提交的代码进行静态扫描,找出潜在的代码问题(Bug)。

2.运行FindBugs环境准备

(1)启动Jenkins服务。

(2)运行FindBugs单元测试的节点机器。

(3)部署Java+Maven软件。

(4)在Jenkins上安装Warnings Next Genertion插件。

3.项目的配置

(1)在Maven项目的配置文件pom.xml中配置findbugs-maven-plugin工具(见图8-20)。

Java 静态代码 缺陷扫描 java静态扫描工具_Java 静态代码 缺陷扫描

 

(2)在Jenkins中创建一个自由风格的job(见图8-21)。

Java 静态代码 缺陷扫描 java静态扫描工具_java_02

 

(3)配置好运行的节点计算机,此计算机是此前已经配置好的节点计算机(见图8-22)。

Java 静态代码 缺陷扫描 java静态扫描工具_运维_03

 

(4)配置源代码管理,将被测项目代码的Git地址配置到图8-23所示的URL中。

Java 静态代码 缺陷扫描 java静态扫描工具_jenkins_04

 

(5)在构建(Build)中点击“增加构建步骤”(Add bulid step)项,构建步骤中选择执行Shell(Execute shell)(见图8-24)。

Java 静态代码 缺陷扫描 java静态扫描工具_Java 静态代码 缺陷扫描_05

 

(6)在“构建后步骤”(Add post-build acticon)下拉菜单项中,选择“Record compiler warnings and static analysis results”项(见图8-25)。

Java 静态代码 缺陷扫描 java静态扫描工具_运维_06

 

如图8-26所示,在“Static Analysis Tools” 里的Tool文本框中选择“FindBugs”,然后在“Report File Patten” 文本框中配置 “**/findbugsXml.xml”,构建后会读取对应的XML结果文件并进行分析,生成最终的测试报告。

Java 静态代码 缺陷扫描 java静态扫描工具_Java 静态代码 缺陷扫描_07

 

4.执行job

(1)job配置完成之后,保存信息。在job首页左边的功能列表中,有对该工程操作的所有项。点击“立即构建”(Build Wow)项,job将会从Git中下载提前配置好的项目代码,然后执行静态扫描操作,静态扫描执行完成后,在job的首页左下部分有一个“FindBugs Warnings”按钮(见图8-27)。

Java 静态代码 缺陷扫描 java静态扫描工具_jenkins_08

 

(2)点击“FindBugs Warnings”按钮后能展示出找到的问题(Bug)信息(见图8-28)。

Java 静态代码 缺陷扫描 java静态扫描工具_jenkins_09

 

(3)在图8-28中点击每一条问题(Bug)信息左边的加号,能看到是哪一行代码报出问题的具体信息,然后我们就能根据这个具体信息去分析代码的问题,与开发人员进行沟通,解决问题。多次构建操作后才能展示趋势图(见图8-29 )。

Java 静态代码 缺陷扫描 java静态扫描工具_java_10