[Jenkins]持续集成环境下fingbug插件的安装使用与配置
参考:https://wiki.jenkins.io/display/JENKINS/FindBugs+Plugin
突然,天降杂事。我是想安安静静的做个美丽的测试。。。但是事与愿违,项目经理叫我帮忙开发findbug,最近刚好搭建好jenkins持续集成环境,那就把fingbug集成进去不是刚刚好。
关于jenkins的安装于配置就不再细说,直接开始fingbug的安装。
一、Jenkins插件配置
Jenkins 》 系统配置 》 管理插件 》 搜索findbugs,安装插件:FindBugs Plugin,Report Info Plugin,Static Analysis Collector Plug-in
二、Job相关配置
如果已有Job的话只需要修改build以及Post Steps和构建设置以及构建后操作,如果没有的话需要自己新建job,流程不再赘述,只是把和findbug相关的部分进行展示
1、Jenkins主页 》 选择Job 》 配置 》 Build中的Goals and options选项,设置为compile -D maven.test.skip=true clean compile findbugs:findbugs
2、Post Steps和构建设置如下图所示
3、构建后操作,我这里选择了两项,和fingbug相关的其实就第一个就足够了,我选择最后一个是为了消除其他影响,每次都会全新下载数据,至于高级操作,可是视情况而定,我这里选择默认没有进行高静操作选择。
三、结果查看
1、执行构建操作,查看构建Job 2、查看findbug结果详情
我们可以从构建历史,点击最新的一次构建,进入之后,选择“FindBugs Warnings”进入详情界面,然后可以查看details查看详情,这里会有指导意见,建议怎么修改
3、多次运行之后还会生成fingbug趋势图
四、FAQ
1、使用了fingbug:findbug但是检测不到问题
答:这里可能有两个原因,1是findbug运行失败,没有生效,2是由于运行clean之后,class文件都被删除了,因为findbug就是检测class文件的,所以没有class文件自然不会去运行findbug,没有运行自然不会发现问题。
解决方法:
(1)mvn clean compile findbugs:findbugs
(2)mvn clean test findbugs:findbugs (test会调用compile生命周期)
这两个命令顺序执行,如果是因为findbug:findbug运行失败,则根据报错,进行修复,例如下图所示,就是一些maven的依赖包不全,没有下载下来导致,需要自行去下载并放置到指定目录并且修改pom文件(需要先在pom文件中搜索一下是否已有,已有的不要重复配置,下载jar包即可,这个真的好耗费时间,足足搞了我半个工作日)。
下载地址:https://mvnrepository.com/,然后搜索你需要的jar包,选择之后,可以看到界面有配置信息,粘贴复制即可,例如
然后选择上图Download(JAR)下载jar包,并且按照配置文件路径放置。
2、看到很多博客,报告展示有对pom文件的配置,是否有必要
答:我觉得是没有必要的,不用配置也是OK的,也没有找到配置的原因暂时,只是愚见。
[Jenkins]持续集成环境下fingbug插件的安装使用与配置的更多相关文章
- Docker+Jenkins持续集成环境(5): android构建与apk发布
项目组除了常规的java项目,还有不少android项目,如何使用jenkins来实现自动构建呢?本文会介绍安卓项目通过jenkins构建的方法,并设计开发一个类似蒲公英的app托管平台. andro ...
- 基于Kubernetes/K8S构建Jenkins持续集成平台(下)
基于Kubernetes/K8S构建Jenkins持续集成平台(下) Jenkins-Master-Slave架构图回顾: 安装和配置NFS NFS简介 NFS(Network File System ...
- Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现
前面我们已经通过jenkins+docker搭建了基本的持续集成环境,实现了服务的自动构建和部署,但是,我们遇到一个问题,jenkins构建出来的镜像部署后,需要通过ip:port去访问,有什么更好的 ...
- Windows系统的Jenkins持续集成环境
Windows系统的Jenkins持续集成环境 如题:本文将介绍如何在Windows环境下运用Jenkins部署持续集成环境.之所以写本文,是因为在最近工作当中,学习使用Jenkins时,确实遇到了一 ...
- Jenkins持续集成(下)-Jenkins部署Asp.Net网站自动发布
环境:Windows 2008 R2.Jenkins2.235.1.Visual Studio 2017: 概要 前面写过一篇文章,<自动发布-asp.net自动发布.IIS站点自动发布(集成S ...
- Jenkins持续集成环境, 如何自定义 maven repositories
假设自定义的仓库路径为“/opt/repository”,那么在“系统管理-系统设置”中,修改“全局MAVEN_OPTS”的值为如下的内容: -Dmaven.repo.local=/opt/repos ...
- Jekens 配置多项目SCM GitLab+Jenkins持续集成环境
参考: 搭建GitLab+Jenkins持续集成环境图文教程 https://blog.csdn.net/ruangong1203/article/details/73065410 Jenkins中配 ...
- 有手就行3——持续集成环境—maven、tomcat、安装和配置
有手就行3--持续集成环境-maven.tomcat.安装 持续集成环境(5)-Maven安装和配置 持续集成环境(6)-Tomcat安装和配置 持续集成环境(5)-Maven安装和配置 在Jenki ...
- Docker+Jenkins持续集成环境(1)使用Docker搭建Jenkins+Docker持续集成环境
本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...
随机推荐
- 学习lucene5.5.4的笔记
说说几个常用的类. OpenMode是一个枚举类,有三个元素,分别表示IndexWriter的打开模式. CREATE:每次打开IndexWriter时清空当前索引目录下的索引,再新建索引. APPE ...
- 视频SharePoint 2010 大局观 By 陈希章[zt]
SharePoint 2010 大局观 By 陈希章 http://hi.baidu.com/jinzesudawei/item/9d0adace8cbcaf2c47d5c0fc
- linux下安装mysql并修改密码
删除已有mysql并重新安装mysql 查看是否已安装过mysql rpm -qa |grep -i mysql 2.移除安装的包 (在之前如果有启动mysql最好关掉服务) 使用rpm –ev 包名 ...
- OpenGL进阶演示样例1——动态画线(虚线、实线、颜色、速度等)
用OpenGL动态绘制线段.事实上非常easy,但到如今为止.网上可參考资料并不多. 于是亲自己主动手写一个函数,方便动态绘制线段.代码例如以下: #include<GL/glu ...
- 通过ODBC接口访问人大金仓数据库
国产化软件和国产化芯片的窘境一样,一方面市场已经存在性能优越的同类软件,成本很低,但小众的国产化软件不仅需要高价买入版权,并且软件开发维护成本高:另一方面,国产软件目前普遍难用,性能不稳定,Bug ...
- NodeJS中常见异步接口定义(get、post、jsonp)
越来越多的人在使用nodeJS,作为一门服务端语言,我们不可避免的要写异步接口(ajax和jsonp).再次强调ajax和jsonp是两个概念,但是由于jquery的封装,使这两种异步接口的调用方式, ...
- How good are detection proposals, really?
How good are detection proposals, really? J. Hosang, R. Benenson, B. Schiele Oral at BMVC 2014 http: ...
- matlab时间测试
因为想把样本筛选一下,所以简单的分类器先跑了一下,没想到跑完分类器在对样本筛选时的时间大大超过了样本进分类器的时间,这个显然不能达到我要的节省时间目的.于是分析了一下matlab中各个环节的时间成本, ...
- CI的子目录控制器问题
不管是根目录还是子目录里面的文件名必须是首字母大写,否则会报404
- LeetCode105. Construct Binary Tree from Preorder and Inorder Traversal
题目 根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3 ...