將 Docker Scout 與 SonarQube 整合

SonarQube 整合功能讓 Docker Scout 能夠透過「政策評估」(Policy Evaluation),在新的 SonarQube 品質閘門政策(SonarQube Quality Gates Policy)下呈現 SonarQube 品質閘門檢查結果。

運作方式

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

當您將新映像檔推送到儲存庫時,Docker Scout 會評估與該映像檔對應的 SonarQube 分析記錄結果。Docker Scout 會利用映像檔的 Git 來源中繼資料(來自來源證明文件或 OCI 註釋),將映像檔儲存庫與 SonarQube 分析結果進行連結。

注意

Docker Scout 無法存取歷史的 SonarQube 分析記錄。只有在啟用此整合後所記錄的分析結果,才能供 Docker Scout 使用。

同時支援自託管(Self-managed)的 SonarQube 執行個體與 SonarCloud。

先決條件

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

啟用 SonarQube 整合

  1. 前往 Docker Scout 儀表板上的 SonarQube 整合頁面

  2. 在「如何整合」(How to integrate)區段中,為此整合輸入一個設定名稱。Docker Scout 會將此標籤用作整合的顯示名稱,並用於命名 Webhook。

  3. 選擇「下一步」(Next)。

  4. 輸入您的 SonarQube 執行個體設定詳情。Docker Scout 使用此資訊來建立 SonarQube Webhook。

    在 SonarQube 中,產生一個新的使用者權杖(User token)。該權杖需要在指定專案上具備「管理員」(Administer)權限,或具備全域「管理員」權限。

    輸入權杖、您的 SonarQube URL 以及 SonarQube 組織 ID。如果您使用的是 SonarCloud,則必須提供 SonarQube 組織資訊。

  5. 選擇「啟用設定」(Enable configuration)。

    Docker Scout 會執行連線測試,以驗證提供的詳細資訊是否正確,且該權杖是否具備必要的權限。

  6. 連線測試成功後,您將被重新導向至 SonarQube 整合總覽頁面,其中會列出您所有的 SonarQube 整合及其狀態。

從整合總覽頁面,您可以直接前往「SonarQube 品質閘門政策」。此政策起初不會有任何結果。若要開始查看此政策的評估結果,請針對您的專案觸發新的 SonarQube 分析,並將對應的映像檔推送到儲存庫。如需更多資訊,請參閱 政策說明

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.