天天看點

SonarQube 插件之 Issues Report & SonarLint 的配置及使用

1、Issues Report Plugins 介紹

使用 Issues Report Plugins 插件可以為我們生成一份 HTML 格式的問題報告,對于開發人員來說是很有好處的,我們可以在改動代碼後 Push 代碼到倉庫前,檢測一下代碼品質,生成問題報告,提醒自己避免送出有明顯問題的代碼到倉庫中,當然也可以去 SonarQube Web 上檢視詳細情況。

2、Issues Report Plugins 使用

Issues Report Plugins 插件的使用很簡單,隻需要 Maven 指令行指定參數執行即可。注意:SonarQube > 5.1 版本,該插件已經過時了,不過我們還是直接可以使用,免安裝。5.1 版本以後由 SonarLint 替代該插件。

mvn sonar:sonar 
    -Dsonar.analysis.mode=preview  # 設定 mode,預設為preview

    -Dsonar.issuesReport.lightModeOnly=true # 設定是否隻生成新增問題的報告

    -Dsonar.issuesReport.html.enable=true # 設定生成 HTML 格式的報告
    -Dsonar.issuesReport.html.name=xxxx # 設定生成 HTML 報告的檔案名字
    -Dsonar.issuesReport.html.location=/xx/xx # 設定生成 HTML 報告的檔案存儲路徑

    -Dsonar.issuesReport.console.enable=true # 設定報告輸出到控制台
           

當設定

-Dsonar.issuesReport.html.enable=true

時,該插件預設會生成兩份 HTML 報告,一份是包含所有問題的報告 ,一份為隻包含新增問題的報告 ,除非設定了

-Dsonar.issuesReport.lightModeOnly=true

,則隻生成包含新問題的報告。預設生成報告的路徑為

<maven_project>/target/sonar/issues-report/

,使用

-Dsonar.issuesReport.html.location

可修改生成路徑。報告預設檔案名為 issues-report.html (全部問題報告),issues-report-light.html(新增問題報告),使用

-Dsonar.issuesReport.html.name=xxxx

可修改生成的檔案名稱。當設定

-Dsonar.issuesReport.console.enable=true

時,則不會生成HTML檔案報告,會将檢測結果列印到控制台輸出。

示例:

$ mvn sonar:sonar -Dsonar.analysis.mode=preview -Dsonar.issuesReport.html.enable=true

...
[INFO] HTML Issues Report generated: /Users/wanyang3/Documents/hwy/IdeaProjects/mavenDemo/target/sonar/issues-report/issues-report.html
[INFO] Light HTML Issues Report generated: /Users/wanyang3/Documents/hwy/IdeaProjects/mavenDemo/target/sonar/issues-report/issues-report-light.html
...
$ mvn sonar:sonar -Dsonar.analysis.mode=preview -Dsonar.issuesReport.console.enable=true

...
[INFO] 
-------------  Issues Report  -------------

        +2 issues

        +1 critical
        +1 major

-------------------------------------------
...
           
SonarQube 插件之 Issues Report &amp; SonarLint 的配置及使用
SonarQube 插件之 Issues Report &amp; SonarLint 的配置及使用

3、SonarLint For IntelliJ IDEA 安裝及配置

SonarLint 是為了替代上邊 Issues Report Plugins 插件,并且更友善的內建到我們日常的開發工具裡面去。SonarLint For IntelliJ IDEA 就是專門為 IDEA 工具提供的插件,它可以為開發人員時刻傳回新的 Bug 以及其他品質問題,并且很直覺顯示在工具上邊。現在支援的語言有 Java、 JavaScript 、PHP。

SonarLint 插件安裝也很簡單,點選 IntelliJ -> Plugins -> Browse Repositories -> 輸入 SonarLint search -> install 等待下載下傳安裝完畢,點選 restart 重新開機 IDEA即可。

SonarQube 插件之 Issues Report &amp; SonarLint 的配置及使用

設定 SonarLint 全局配置。點選 IntelliJ -> Other Settings -> SonarLint General Settings -> Add 彈出框添加一個 New SonarQube Server,這裡我們添加之前本地搭建的 SonarQube 服務 URL:http://127.0.0.1:9000,服務别名為:my_sonarqube,下一步配置認證,可以設定 Token 或者 Login / Password,配置完成後點選 Update Binding,更新綁定資訊,最後點選 Apply 即可。注意:認證 Token 可以去 SonarQube Web 上生成一個認證 Token 或者用使用者名密碼登入均可。

SonarQube 插件之 Issues Report &amp; SonarLint 的配置及使用
SonarQube 插件之 Issues Report &amp; SonarLint 的配置及使用

設定 SonarLint 項目配置,點選 IntelliJ -> Other Settings -> SonarLint Project Settings -> Bind to Server,選擇剛我們配置的全局配置 my_sonarqube,在 SonarQube project 項目清單裡面選擇對應的項目,最後點選 Apply 即可。注意:這裡的項目清單是從配置的 SonarQube 服務上拉取下來的項目,如果沒有加載,可以點選 Update project list 重新加載。