SonarQube
在Windows使用SonarQube + Ms SQL Server 2017 分析 C# 程式碼品質
2018/12/04 18:58:22
0
5377
在Windows使用SonarQube + Ms SQL Server 2017 分析 C# 程式碼品質
簡介 |
介紹SonarQube在Windows系統的安裝、設定與使用 |
作者 |
蔡麒聰 |
一、前言
在軟體開發的生命週期中,讓產出的程式碼可以維持著高品質也是非常重要的一件事情,例如在有些公司會透過 Code Review,分析程式碼的品質及找出一些疏失問題,但若要用人工一一找出程式碼的潛在問題或安全性隱憂,實在是太花費時間和功夫了,SonarQube是一套Open Source的程式碼品質分析工具,可幫我們對程式碼的品質做更完整的檢查,並找出一些可能的安全性隱憂。
二、前置淮備
- 安裝JAVA(JRE8、JDK8)
- 資料庫(MS SQL Server 2014、2016、2017)
- 瀏覽器(IE11、Microsoft Edge、Mozilla Firefox、Google Chrome,Safari)
- SonarQube Scanner for MSBuild
三、安裝SonarQube
我們先到官網下載SonarQube,點擊下方連結前往進行下載。
並解壓縮到我們指定的目錄
修改設定檔 \conf\sonar.properties
在解壓縮目錄下的 conf 資料夾我們可以找到 sonar.properties 設定檔,在設定檔內我們要調整
sonar.jdbc.username={資料庫連線使用者名稱}
soanr.jdbc.password={資料庫連線使用者密碼}
sonar.jdbc.url=sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar
設定資料庫
開啟SQL Serve,建立資料庫sonar,資料庫名稱須與sonar.jdbc.url的databaseName相符合,並且必須設定資料庫定序為Case sensitivity(CS)和Accent sensitivity(AS),如下圖
啟動SonarQube
打開 Command Line,執行解壓縮目錄下的bin\windows-x86-64\StartSonar.bat,成功後應該可以看到如同下面的畫面
打開瀏覽器,前往 http://localhost:9000,可看到成功啟動SonarQube,如下圖所示,點擊Log in進行登入,帳號:admin,密碼:admin
四、分析程式碼
下載 SonarQube Scanner for MSBuild
SonarQube 其實可以分為兩種工具,一種是負責執行程式碼分析的 Runner,每個語言都有自己對應的 SonarQube Runner ,而另外一種則是在透過 Runner 分析之後,我們可以透過 SonarQube 的報表網站,觀看軟體的健康檢查報告,發掘是否有潛藏性的危險。
前項操作即為啟動報表網站,接下來要分析C#程式碼,必須借用SonarQube Scanner for MSBuild
下載後,解壓縮到我們自己指定目錄
設定Path環境變數
為了等下方便進行分析,我們在 Path 系統環境變數附加 SonarScanner.MSBuild.exe、MSBuild.exe 的路徑,如下圖所示
開啟Command Line,切換目錄到我們要分析的 C# Project,依序輸入下列指令進行分析
SonarScanner.MSBuild.exe begin /k:"project-key"
MSBuild.exe /t:Rebuild
SonarScanner.MSBuild.exe end
上述的project-key是在SonarQube中分析專案的名稱,可設為跟C# Project同一名稱,以方便識別。
回到瀏覽器畫面,可看到分析專案的報告
點擊專案名稱連結,檢視專案的各項分析報告
可任意點擊連結,查看程式bug或漏洞
點擊檔案連結,可查看原始碼,SonarQube會指出有問題的程式碼在那一行,並提出如何進行改善。
SonarQube分析報告有眾多種類,上述只簡略介紹一、二,讀者有興趣,可實際操作,親自體會。