配置 SonarQube

DevOps Insights 將於 2026 年 8 月 31 日結束服務並停止提供。Continuous Delivery 將於 2027 年 2 月 12 日在以下地區停止提供:au-sydca-monca-torus-east。 Code Risk Analyzer 也將於該日於所有地區停止提供服務。 若某個區域未實際使用這些功能,該區域中的功能可能會提前停用,並停止接受新的實例。 了解更多

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 建置叢集的名稱。 必要
開發區域 文字 管理叢集的 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 整合支援下列配置參數,您可在 建立讀取更新工具整合時,透過工具鏈 HTTP API 與 SDK 使用這些參數。

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

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