zoukankan      html  css  js  c++  java
  • [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的,也没有找到配置的原因暂时,只是愚见。

  • 相关阅读:
    C#中回滚TransactionScope的使用方法和原理
    CAS5.3服务器搭建与客户端整合SpringBoot以及踩坑笔记
    JSON对象、JSON字符串和Java对象互相转
    Java实体类如何映射到json数据(驼峰映射到json中的下划线)
    expected at least 1 bean which qualifies as autowire candidate
    IDEA target中没有class文件/target中有class没有yml文件/yml文件不显示叶子
    yml配置从nacos配置中心取数据(单个或多个),读读源码,寻找如何配置多个
    seata-server 1.3.0整合nacos,使用nacos做注册和配置中心
    简单读读源码
    mybatis-plus.global-config.db-config.id-type=auto 和 @TableId(value = "id", type = IdType.ASSIGN_ID)哪个优先生效
  • 原文地址:https://www.cnblogs.com/amberly/p/7201041.html
Copyright © 2011-2022 走看看