google-code-prettify

2016年9月2日 星期五

程式碼品質掃描:Jenkins + PMD plug-in + Maven設定

Jenkins + PMD plug-in做程式碼品質掃描,
以搭配Maven為例子:

Maven pom.xml設定加入以下的plug-in:

<project>
.....
.....
.....
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>3.6</version>
        <configuration>
          <linkXref>true</linkXref>
          <sourceEncoding>utf-8</sourceEncoding>
          <minimumTokens>100</minimumTokens>
          <targetJdk>1.5</targetJdk>
          <excludes>
            <exclude>**/*Bean.java</exclude>
            <exclude>**/generated/*.java</exclude>
          </excludes>
          <excludeRoots>
            <excludeRoot>target/generated-sources/stubs</excludeRoot>
          </excludeRoots>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
</project>


Jenkins設定:
1.安裝PMD plug-in
2. 該專案(作業/Job)以「Maven 專案」型態建置,在「建置」的「Goal及選項」設定值為「 package package pmd:pmd」,若是同時也要執行FindBugs plug-in可設定成「package pmd:pmd findbugs:check」
3.「建置設定」勾選「發佈 PMD 分析結果」




建置後看結果:



列出紅色為高優先警告,黃色為一般警告


一路點選到問題程式之後,會列出問題處的行號和問題原因與建議處理方法:

程式碼品質掃描:Jenkins + FindBugs plug-in + Maven設定

使用Jenkins + FindBugs plug-in做程式碼品質掃描,
以搭配Maven為例子:


Maven pom.xml設定加入以下的plug-in

<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>findbugs-maven-plugin</artifactId>
   <version>3.0.1</version>
   <executions>
       <execution>
           <goals>
               <goal>check</goal>
           </goals>
       </execution>
   </executions>
   <configuration>
       <effort>Max</effort><!--值可以是Min、Default或是Max-->
       <xmlOutput>true</xmlOutput>
       <failOnError>false</failOnError>
   </configuration>
</plugin>


Jenkins設定:
1.安裝FindBugs plug-in
2. 該專案(作業/Job)以「Maven 專案」型態建置,在「建置」的「Goal及選項」設定值為「 package findbugs:check」
3.「建置設定」勾選「發佈FindBugs分析結果」




建置後看結果:




列出紅色為高優先警告,黃色為一般警告



一路點選到問題程式之後,會列出問題處的行號和問題原因與建議處理方法: