[Jenkins]持續整合之路(八)程式碼度量初階(SLOCCount Plugin)

繼續往持續整合之路前進,有時老闆會想知道最基本的程式碼度量,究竟專案中使用了幾種程式語言,多少支程式碼,多少行程式碼(LOC:Line Of Code)?如果專案程式碼沒送SonarQube掃,還有哪些方式能持續自動的紀錄?

 

也能用Visual Studio內建的程式碼度量,不過她的程式碼行數是以編譯後的IL碼,與程式碼實際行數有些不同,而且要自動執行,需要多繞點路。

剛學.NET的時候,為了交付老闆的清查任務,認識了CLOC.exe,每隔一段時間就要手工跑cloc.exe貼在excel計算,在持續整合之路上,也一起把老闆交辦的任務自動化

 


下載CLOC.exe

下載CLOC.exe到Build Server上,目前我們只有一台,就放到Master上。

我們先把她放在Jenkins的根目錄下的Tools資料夾。

 


Install SLOCCount Plugin

管理Jenkins > 管理外掛程式

 

可用的Tab > 過濾條件輸入SLOCCount > 勾選SLOCCount > 按下直接安裝按鈕

 


Config CI JOB

新增建置步驟-執行Windows批次指令

 

新增以下批次命令

"%JENKINS_HOME%\tools\cloc-1.64.exe" --by-file --xml --out="%WORKSPACE%\Log\cloc.xml" "%WORKSPACE%\Log"

新增建置後動作-Publish SLOCCount analysis results

 

報表檔案名稱輸入**/cloc.xml,然後按下儲存按鈕。

 

馬上建置後,回到CI Job的頁面上,立刻多出了程式碼的統計(SLOCCount)。

 

點選某一種程式語言,例如C#,也會帶出程式明細,也可以依照欄位排序。

 


小結

  • 如果是進行中的專案,PM就能觀察到每週程式碼行數的變化。
  • 程式行數 <> 程式重量 

 

2018.06 內湖-瑞湖街巷子

 


參考

SLOCCount Plugin