將 Docker Scout 與 SonarQube 整合

SonarQube 整合使 Docker Scout 能夠透過策略評估,在一個新的SonarQube 質量門策略下,顯示 SonarQube 質量門檢查。

工作原理

此整合使用SonarQube webhooks來通知 Docker Scout SonarQube 專案分析何時完成。當 webhook 被呼叫時,Docker Scout 接收分析結果,並將其儲存在資料庫中。

當您將新映象推送到倉庫時,Docker Scout 會評估與該映象對應的 SonarQube 分析記錄的結果。Docker Scout 使用映象上的 Git 出處元資料(來自出處證明或 OCI 註釋)將映象倉庫與 SonarQube 分析結果關聯起來。

注意

Docker Scout 無法訪問歷史 SonarQube 分析記錄。只有在整合啟用後記錄的分析結果才可供 Docker Scout 使用。

自管 SonarQube 例項和 SonarCloud 都受支援。

先決條件

要將 Docker Scout 與 SonarQube 整合,請確保:

啟用 SonarQube 整合

  1. 前往 Docker Scout 控制面板上的SonarQube 整合頁面

  2. 在 **How to integrate** 部分,為此次整合輸入一個配置名稱。Docker Scout 使用此標籤作為整合的顯示名稱,並用於命名 webhook。

  3. 選擇“**下一步**”。

  4. 輸入您的 SonarQube 例項的配置詳細資訊。Docker Scout 使用此資訊建立 SonarQube webhook。

    在 SonarQube 中,生成一個新的 **使用者令牌**。該令牌需要對指定專案具有“管理”許可權,或具有全域性“管理”許可權。

    輸入令牌、您的 SonarQube URL 和您的 SonarQube 組織 ID。如果您使用的是 SonarCloud,則需要 SonarQube 組織。

  5. 選擇 **啟用配置**。

    Docker Scout 執行連線測試以驗證所提供的詳細資訊是否正確,以及令牌是否具有必要的許可權。

  6. 連線測試成功後,您將被重定向到 SonarQube 整合概覽,其中列出了所有 SonarQube 整合及其狀態。

從整合概覽頁面,您可以直接進入 **SonarQube 質量門策略**。此策略最初沒有結果。要開始檢視此策略的評估結果,請觸發您專案的新 SonarQube 分析,並將相應的映象推送到倉庫。有關更多資訊,請參閱策略描述