findbugs使用_【实践】Jenkins集成PMD、FindBugs、Checkstyle静态代码检查工具并邮件发送检查结果...

本文详细指导了如何在Jenkins中集成PMD、FindBugs和Checkstyle等静态代码检测工具,并将检查结果通过邮件通知。包括配置pom.xml、Maven插件、Jenkins构建设置和邮件配置的全过程。
摘要由CSDN通过智能技术生成

为了规范代码,我们一般会集成静态代码检测工具,比如PMD、FindBugs、Checkstyle,那么Jenkins如何集成这些检查工具,并把检查结果放到构建邮件里呢?

1.pom.xml

build。plugins 增加:

maven-assembly-pluginpackagesingle${project.artifactId}-${project.version}falsesrc/assembly/assembly-descriptor.xmlorg.codehaus.mojofindbugs-maven-plugin3.0.5HighDefaulttruetruetruehtmlorg.apache.maven.pluginsmaven-pmd-plugin3.8

reporting 增加:

   org.apache.maven.pluginsmaven-checkstyle-plugin3.0.0checkstyleorg.apache.maven.pluginsmaven-pmd-plugintrueutf-81001.8**/*Bean.java**/generated/*.javatarget/generated-sources/stubs3.8org.apache.maven.pluginsmaven-jxr-plugin2.5org.apache.maven.pluginsmaven-surefire-report-plugin2.14.1org.codehaus.mojocobertura-maven-plugin

2 jenkins设置

2.1 安装相关插件

直接搜索安装:

  • Checkstyle Plug-in

  • PMD Plug-in

  • FindBugs Plug-in

  • Static Analysis Collector Plug-in

邮件插件安装:

  • Email Extension Plugin

  • Email Extension Template Plugin

2.2 项目配置

maven构建Goals设置为:
pmd:pmd checkstyle:checkstyle findbugs:findbugs package -DskipTests

在构建设置里,勾上

  • Publish Checkstyle analysis results

  • Publish FindBugs analysis results

  • Publish PMD analysis results

构建后操作,添加Publish combined static analysis results,默认设置即可。

2.3 邮件配置

首先在系统设置里,配置Extended E-mail Notification部分

设置:

  • Default Subject :自动构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

  • Default Content:${JELLY_SCRIPT, template="analysis.jelly"}

剩下的自己配置下SMTP和收件人。

这里邮件内容使用analysis.jelly,使用jelly script,系统没有这个模板,我们需要配置一下:

打开系统管理-Managed files,增加一个Extended Email Publisher Jelly Template

模板文件如下,该模板修改自官方的模板,做了一定的本地化和样式调整:

<?jelly escape-by-default='true'?>${project.name}

${project.name}构建成功失败

基本信息

构建地址${rooturl}${build.url}项目:${project.name}构建时间:${it.timestampString}构建耗时:${build.durationString}构建原因:${cause.shortDescription}              构建描述:${build.description}构建服务器:${build.builtOnStr}master

构建健康报告

WDescriptionScore                    src="${rooturl}${healthReport.getIconUrl(healthIconSize)}" />${healthReport.description}${healthReport.score}

代码变更记录

           varStatus="loop">

${cs.msgAnnotated}


             by ${cs.author}

${spc}${p.editType.name}${p.path}

无变更

构建产物

${f}

MAVEN 构建产物

${m.key.displayName}

${f}

JUnit Tests

PackageFailedPassedSkippedTotal${packageResult.getName()}${packageResult.getFailCount()}${packageResult.getPassCount()}${packageResult.getSkipCount()}${packageResult.getPassCount()+packageResult.getFailCount()+packageResult.getSkipCount()}                                      items="${packageResult.getFailedTests()}">${failed_test.getFullName()}

代码静态检查结果

名称检查结果总数HighNormalLow${action.displayName} ${action.result.numberOfAnnotations} ${action.result.getNumberOfAnnotations('HIGH')} ${action.result.getNumberOfAnnotations('NORMAL')} ${action.result.getNumberOfAnnotations('LOW')}

保存。

然后配置系统管理——Editable Email Notification Templates,增加一个默认模板,名称为默认,直接保存。

回到项目配置, 在构建环境里,
勾上Provide Configuration files
选择File为刚新增的jelly文件,target填写/var/jenkins_home/email-templates
Variable填写analysis.jelly

然后,在构建后操作里增加Editable Email Notification Templates,选择默认模板。

这样就完成了配置。

作者:JadePeng
链接:https://www.jianshu.com/p/66d2e32f471a

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值