首頁>技術>

sonar的意義毋庸置疑,提前發現程式碼bug或者漏洞,提高程式碼質量,控制應用整體質量和安全,以及事後的分析,開發人員的成長與開發能力的評估等都提供了量化的指標。

無論對於開發人員還是管理人員,都是一把利器,重要的是開源免費!!!免費!!

先了解幾個概念:

Docker

一切皆可docker化,遮蔽環境和繁瑣配置,執行下面的容器

docker-compose

將docker run命令配置化,集中化管理,容器管理利器

SonarQube

程式碼質量檢查與結果分析伺服器,自帶一個ES查詢服務,資料儲存到Postgres中

Sonar-scanner

程式碼質量檢查客戶端,並將結果同步到SonarQube服務端

Gitlab

CI\CD的核心,devops都是圍繞它來做的

Gitlab-runner

任務執行器,用來執行自動化程式碼檢查,自動化構建,自動測試,自動部署等

接下來搭建環境:

假設Docker,docker-compose,Gitlab,Gitlab-runner都已經pull拉起來了,重點說明SonarQube如何與Gitlab做整合。

SonarQube安裝

網上各種教程,還是官網比較靠譜,直接docker-compose一鍵部署。

官網docker-compose指令碼:https://docs.sonarqube.org/latest/setup/install-server/

替換目錄為docker宿主機自定義目錄即可

vi docker-compose.yml#貼上官網內容,替換目錄為自己的目錄,並設定資料庫使用者名稱密碼###儲存後,一鍵啟動docker-compose up -d##檢視SonarQube伺服器是否起來http://localhost:9000預設使用者名稱密碼:admin/admin

sonarqube伺服器登入頁

SonarQube中文外掛安裝

中文外掛下載地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh/tags

將 下載的jar 包放入 /data/sonarqube/extensions/plugins ,重啟 SonarQube。

與Gitlab整合SonarQube中新建使用者,並生成令牌,供sonar-scanner使用

新建使用者

生成令牌

Gitlab新建共享runner

管理區域->Runners,新建共享runner,與Gitlab伺服器運行於一臺主機

docker exec –it aaaaa gitlab-runner register

tag標記為sonar,執行方式選擇docker

共享runner

.gitlab-ci.yml中增加程式碼掃描任務

用到了sonar-scanner映象,用來傳送資訊到sonarqube伺服器。sonar-scanner執行時,需要指定SonarQube伺服器地址,login授權碼,專案名稱,掃描目錄,jdk版本等。

指令碼

提交程式碼,測試程式碼質量檢查指令碼

成功了

SonarQube伺服器檢視程式碼檢查結果

專案核查結果彙總

妥妥滴

11
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 好用的程式碼編輯器VSCode推薦