linux下 Findbugs-3.0.1与jenkins配合,实现自动代码质量检查 -- shell脚本方式
在jenkins中采用shell脚本的方式对Findbugs进行调用,不使用maven调用Findbugs.
使用jenkins的findbugs-plugin来识别findbugs生成的findbugs-result.xml,将结果呈现在jenkins中。
-
首先需要下载安装Findbugs。
下载地址:https://jaist.dl.sourceforge.net/project/findbugs/findbugs/3.0.1/findbugs-3.0.1.tar.gz下载后将findbugs-3.0.1.tar.gz解压:
tar -zxvf findbugs-3.0.1.tar.gz设置环境变量:
vim /etc/profile
输入如下命令使刚才的配置生效:
source /etc/profile输入命令: findbugs -version
如果显示版本号证明安装配置成功。 -
进入到jenkins的工程配置页面(想要检查的代码工程),在“构建”页,点击“增加构建步骤”,选择“Execute shell”
-
在Execute shell中写入如下命令:
======================================
mkdir findbugs
cd findbugs
find …/ -name ‘*.jar’|xargs /root/findbugs-3.0.1/bin/rejarForAnalysis
/root/findbugs-3.0.1/bin/findbugs -textui -xml -outputFile ./findbugs-result.xml analyze.jar
======================================
说明:
① find …/ -name ‘*.jar’|xargs /root/findbugs-3.0.1/bin/rejarForAnalysis
利用findbugs软件包中的rejarForAnalysis的工具,将所有的分布的jar文件进行重新打包进入一个analyze.jar包
② /root/findbugs-3.0.1/bin/findbugs -textui -xml -outputFile ./findbugs-result.xml analyze.jar
利用findbugs工具对analyze.jar进行分析,并生成测试报告“findbugs-result.xml”
PS:不知道为什么,在Docker中设置完环境变量后,在jenkins的Execut shell中不好用,所以此处使用了绝对路径。 -
滚动到配置页面的最下面,选择“增加构建后操作步骤”,选择“Publish FindBugs analysis results”,填入报告位置的相对路径(因为上面我们设置的就是将报告生成在findbugs文件夹下),如下:
保存并退出jenkins中工程的配置页面。 -
点击“Build Now”按钮进行构建。
-
构建成功后,在工程目录会生成测试报告。