繼續往持續整合之路前進,有時老闆會想知道最基本的程式碼度量,究竟專案中使用了幾種程式語言,多少支程式碼,多少行程式碼(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 內湖-瑞湖街巷子