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


rule000

Rule -> 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 += rule
  2. Deactivate 取消

rule009

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

Conclusion


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