您好,登錄后才能下訂單哦!
本篇內容主要講解“SonarQube私有項目徽章顯示的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SonarQube私有項目徽章顯示的方法是什么”吧!
先簡單了解下 sonar 的運行機制。如圖,運行 SonarQube app,其實同時運行了4 個進程,app 進程負責統籌調度其他三個進程,當有插件安裝需要重新加載時, app 就可以發出重啟的指令。下面是詳細的描述:
App Process:用戶操作的進程,這個進程是門面,由用戶控制開啟或者關閉。同時也是其他三個進程的調度器,開啟 app 后,會自動啟動 Es、web、ce 等進程。
Es Process:ElasticSearch 的進程,Sonar 將 Es 的發行包內置到了Sonar 中,作為獨享的搜索引擎使用,issue ,代碼等數據會被 es 管理起來。
Web Process:web 頁面 、api 的進程
Ce Process:ce 全稱 Compute Engine 。分析計算引擎,是 sonar 的核心
如下,是一個獲取 bugs徽章的鏈接,我們從這個鏈接開始,深入分析下,在 sonar 服務的內部是怎么生成這個徽章的。在分析前,先說明下,sonar 內部沒有采用 spring mvc 等任何web 框架,是自己封裝的一套mvc框架,數據庫查詢用的 mybatis。
https://qa-sonar.dev.com/api/project_badges/measure?project=server_services_developer_AXaIXEx52AMDJFWZUd_4&metric=bugs
根據徽章資源的 /api/project_badges 找到徽章的web入口文件 ProjectBadgesService.java ,可以看到接口支持的入參情況。通過 action 模塊名 measure 找到 MeasureAction.java ,生成徽章的主要邏輯都在這個里面,所在模塊的目錄結構如下:
從這里得知,通過徽章鏈接獲取到的 svg 圖片,是通過 project_Id 實時查出來數據,實時生成的圖片。并不是每次掃描都會生成靜態圖片資源。也在這個模塊里找到了私有項目無法生成代碼的邏輯。
1、改社區代碼去掉私有的限制
這個是最簡單的,但是限制也比較多。改了代碼需要自己發版,功能沒法和社區同步。而且如果你使用的是付費的,這個路也行不通。
2、新建一個項目,自己生成 svg
嘗試獲取 sonar 的所有元數據信息,然后自己生成 svg 徽章,在 url 設計上,盡量保持和 sonar 自己的風格保持一致,用法也一樣。生成的徽章的風格也保持一致
到此,相信大家對“SonarQube私有項目徽章顯示的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。