點燈坊

學而時習之,不亦悅乎

如何不啟用 SonarQube 內建的 Rule ?

Sam Xiao's Avatar 2019-05-19

SonarQube 內建很多檢查 Rule,但有些 Rule 可能不適合團隊,暫時不想啟用,該如何在 SonarQube 設定呢 ?

Version

macOS High Sierra 10.13.6
Docker for Mac 18.06.1-ce-mac59 (26764)
SonarQube 7.1 (build 11001)

Rules

rule000

Rules -> C#

若第一個 rule : =+ should not be used instead of += 不適合團隊,想暫時不啟用。

並不是這個 rule 不好,只是因為是第一個 C# rule,所以以此為範例

SonarQube 舊版允許你直接不啟用某個 rule,但新版取消該功能,無法直接不啟用。

Quality Profiles

rule001

Quality Profiles -> C#

SonarQube 預設使用的 Quality Profile 是 Sonar way,目前 Sonar way 無法取消 rule。

若要取消 rule,必須建立自己的 Quality Profile,然後才能取消。

rule002

  • 選擇右側 optionCopy

rule003

  1. 輸入新的 Quality Profile 名稱
  2. Copy 確定

rule004

Quality Profiles -> C#

  • 選擇 My way,選擇右側 optionSet as Default

rule005

  • My way 成為 C# project 預設的 Quality Profile

Deactivate Rule

rule006

Quality Profiles -> C#

  • 點擊 My way Quality Profile

rule007

  1. 點擊 Active 下所有的 rule

rule008

  1. 找到我們想取消的 =+ should not be used instead of +=
  2. Deactivate 取消

rule009

  1. =+ should not be used instead of += 已被 Deactivate

Conclusion

  • 原本認為很簡單的功能,但因為 SonarQube 的設計改變,竟然花了一些時間才搞定,特別記錄下來