IBM Cloud Docs
配置 SonarQube

配置 SonarQube

SonarQube 提供原始碼整體性能及品質的概觀,並強調顯示在新程式碼中找到的問題。 程式碼分析器可偵測 20 種以上程式碼語言的難處理錯誤(例如空值指標解除參照、邏輯錯誤及資源洩漏)。

配置 SonarQube,以持續分析及測量原始碼的品質:

  1. 在IBM Cloud控制台中,點選選單圖示漢堡圖示>平台自動化>工具鏈。 在工具鏈頁面上,按一下工具鏈以開啟其概述頁面。 或者,在應用程式之「概觀」頁面的「持續交付」卡片上,按一下檢視工具鏈。 然後,按一下概觀

    a. 按一下新增工具

    b. 在「工具整合」區段中,按一下 SonarQube

  2. 鍵入此 SonarQube 工具整合實例的名稱。

  3. 鍵入當您從工具鏈按一下 SonarQube 卡片時所要開啟的 SonarQube 實例 URL。

  4. 選用項目:鍵入您用來連接至 SonarQube 伺服器的使用者名稱。

    只有在您使用密碼來連接至 SonarQube 伺服器時,才需要指定使用者名稱。 如果您使用鑑別記號進行連接,請讓此欄位保留為空欄位。

  5. 鍵入您用來連接至 SonarQube 伺服器的密碼或鑑別記號。

  6. 如果在公用網際網路上找不到伺服器,請選取 進階。IBM Cloud 無法驗證您提供的連線詳細資料,且需要此伺服器的 API 存取權的特定功能已停用。 Delivery Pipeline 只能透過使用具有此伺服器網路存取權的專用工作者節點來運作。

  7. 按一下建立整合

  8. 在「工具鏈概觀」頁面上的 協力廠商工具 卡片上,按一下 SonarQube,以檢視您所連接 SonarQube 實例的儀表板。

將 Sonarqube 新增至持續整合管線

預設 SonarQube 實例

如果您沒有自己的 SonarQube 實例,則管線會在管線執行期間建立 SonarQube 實例。 在靜態掃描階段順利執行之後,您可以存取此實例。

現有 SonarQube 實例

若要將您自己的 SonarQube 實例新增至現有管線,請 將工具整合新增 至工具鏈,然後將 Sonarqube 工具整合參數新增至管線。

必要參數

若要執行 SonarQube 掃描,管線需要下列連續整合參數:

Continuous integration pipeline parameters
名稱 類型 說明 必要或選用
叢集名稱 文字 Docker 建置叢集的名稱。 必要
dev-region 文字 管理叢集的 IBM Cloud 地區。 必要
選用聲納 文字 啟用 sonarQube 掃描的選項。 必要
sonarqube 工具整合 Sonarqube 工具整合。 選用

如需管線參數的相關資訊,請參閱 管線參數

如果您將多個 SonarQube 工具整合新增至管線,則可以透過變更 sonarqube 管線參數 (這是工具整合參數) 的值,在它們之間進行切換。

更新品質閘道

如果您使用管線所建立的 SonarQube 實例,則可以更新預設品質閘道。

  1. static-scan 作業中的管線日誌,移至 URL 所建立的 SonarQube 儀表板。

    SonarQube儀表板
    SonarQube儀表板

  2. 按一下 品質閘道 > 建立

  3. 使用下列其中一個選項來設定「品質閘道」:

    • 按一下 設為預設值,將新建的品質閘道設為預設值。
    • 從儀表板中,選取專案,然後按一下 專案設定 > 品質閘道,以使用專案新建立的品質閘道。
  4. 指定您要與專案相關聯的品質閘道。 此品質閘道會評估新的掃描,而品質閘道的結果會建立證明。

要了解有關SonarQube,請參閱 SonarQube文件

使用您自己的配置檔

您可以在不使用自己的 SonarQube 實例的情況下修改預設配置。 在您要在其中建立配置檔的儲存庫中建立 sonar-project.properties 檔案。 如果我們的 Script 偵測到儲存庫中的現有 configuration sonar-project.properties 檔案,則會使用該檔案而非預設檔案。 如需配置檔中可能分析參數的相關資訊,請參閱這裡的 分析參數

請確定您將正確的登入認證和主機 URL 新增至配置檔。

使用另一個靜態掃描實作

您可以修改 .pipeline-config.yaml 檔,將您自己的自訂 Script 新增至 static-scan 階段,以使用您自己的靜態掃描實作。

使用 API 來配置 SonarQube

當您 建立讀取更新 工具整合時,SonarQube 工具整合支援下列配置參數,您可以與 Toolchain HTTP API 及 SDK 搭配使用。

您必須在要求內文中以 sonarqube 值指定 tool_type_id 內容。

SonarQube工具整合參數
參數 用法 類型 Terraform 引數 說明
blind_connection 可選,可更新,Default: false 布林 blind_connection 設為 true 以指示 Continuous Delivery 忽略此整合的配置驗證。 此外,如果 SonarQube 伺服器無法在公用網際網路上定址,則設為 true
dashboard_url 必要,可更新 字串 server_url 此工具整合的 SonarQube 伺服器儀表板的 URL。 在圖形使用者介面中,當您按一下 SonarQube 工具整合卡時,瀏覽器會移至這個儀表板。
名稱 必要,可更新 字串 名稱 此工具整合的名稱。
user_login 選用,可更新 字串 user_login 用於向 SonarQube 伺服器進行鑑別的使用者 ID。
user_password 選用,可更新 密碼 user_password 用來向 SonarQube 伺服器進行鑑別的密碼或記號。 您可以對此參數使用工具鏈密鑰參照。 如需密鑰參照的相關資訊,請參閱 在 Continuous Delivery