[CI] Jenkins (六) – PMD_CPD

除了上一篇的CodeCoverage的部分
我也實作以下項目

  • 檢查.NET Framework規範 (FxCop)
  • 分析程式複雜度及區塊深度 (Source Monitor)
  • 偵測重複程式碼 (PMD_CMD)

前兩項請參考:
[料理佳餚] Jenkins 增加 FxCop Plugin
[料理佳餚] Jenkins 增加 SourceMonitor Plugin


偵測重複程式碼的部分
我首先嘗試了Simian
請參考:[料理佳餚] Jenkins 增加 Simian Plugin

不過使用結果會跑出Error: Big 5
猜測是因為我的程式中
部分MessageBox有顯示中文
或是註解有中文,導致Simian無法使用
因此我改用PMDCPD


首先下載PMD:官方網址
放到CI Server上
然後新增建置動作
CPD

執行cpd.bat
  –files:輸入欲分析的SourceCode資料夾位置
  –language:程式語言代號,使用C#則輸入cs
  –format:輸出格式,選擇xml
  >duplicatecode.xml: 輸出的檔案名稱
  || exit 0:加這一小段,避免Jenkins誤認為執行失敗

其他指令請參考:Finding duplicated code


最後要輸出結果
於Jenkins安裝DRY Plug-in

然後新增建置後動作→Publish duplicate code analysis results
CPD2


輸出Report的範例結果
CPD3.png

 

 

 

廣告

One thought on “[CI] Jenkins (六) – PMD_CPD

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s