如何不啟用 SonarQube 內建的 Rule ?
SonarQube 無法修改預設的 Sonar way
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
Rule -> C#
若第一個 rule : =+ should not be used instead of +=
不適合團隊,想暫時不啟用檢查。
並不是這個 rule 不好,只是因為是第一個 C# rule,所以以此為範例
SonarQube 舊版允許你直接不啟用某個 rule,但新版取消了這個功能,無法直接不啟用。
Quality Profiles
Quality Profiles -> C#
SonarQube 預設使用的 Quality Profile 是 Sonar way
,目前 Sonar way
無法取消 rule。
若要取消 rule,必須建立自己的 Quality Profile,然後才能取消。
- 選擇右側
option
的Copy
- 輸入新的 Quality Profile 名稱
- 按
Copy
確定
Quality Profiles -> C#
- 選擇
My way
,選擇右側option
的Set as Default
My way
成為 C# project 預設的 Quality Profile
Deactivate Rule
Quality Profiles -> C#
- 點擊
My way
Quality Profile
- 點擊
Active
下所有的 rule
- 找到我們想取消的
=+ should not be used instead of +=
rule - 按
Deactivate
取消
=+ should not be used instead of +=
rule 已被Deactivate
Conclusion
- 原本認為很簡單的功能,但因為 SonarQube 的設計有改變,竟然花了一些時間才搞定,特別記錄下來