參考: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的,也沒有找到配置的原因暫時,只是愚見。