公司使用jenkins來作為持續建構工具,由于要進行自動化建構、編譯、代碼走查、打包。今天介紹下
jenkins內建findbugs的經驗。
1、首先進入jenkins插件管理頁面,下載下傳途中的findbugs插件
2、建立一個maven項目,就以findbugs-scan為例
3、然後在“源碼管理”頁簽上填寫代碼庫相關資訊
4、在“建構環境”頁簽中填寫建構指令
clean compile -Dmaven.test.skip=true findbugs:findbugs site
如果不加site指令,則不會在jenkins生成報告
5、填寫建構後操作,比如說發送郵件通知幹系人
6、項目pom.xml配置
首先在pom中添加插件配置
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<threshold>High</threshold>
<effort>Default</effort>
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<xmlOutput>true</xmlOutput>
<formats><format>html</format></formats>
<findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
</configuration>
</plugin>
</plugins>
</build>
然後添加reporting配置
<build>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<xmlOutput>true</xmlOutput>
<!-- Optional directoryto put findbugs xdoc xml report -->
<!--<xmlOutputDirectory>target/site</xmlOutputDirectory>-->
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
</configuration>
</plugin>
</plugins>
</reporting>
如果不添加reporting配置則無法生成報告,隻能在target/site中檢視xml檔案報告,在jenkins則無法看到。
7、進行建構後,則可以看到報告了,如下:
8、如果需要看更詳細的報告,可以檢視Maven-generated site
點選進去就可以看到更詳細的報告,包括錯誤描述以及解決方法,同時還可以內建PMD等靜态代碼分析插件。