Devops流水線之SonarQube
1. 軟件功能介紹及用途
SonarQube是一個用于代碼質量管理的開源平臺,用于管理源代碼的質量,通過SonarQube我們可以檢測出項目中重復代碼,潛在bug,代碼規(guī)范,安全性漏洞等問題,并通過SonarQube web UI展示出來
Sonar集成過程:
- 開發(fā)人員在本地的IDE中使用sonarLint運行分析本地代碼
- 開發(fā)人員將代碼提交到代碼管理平臺(GIT)
- Devops工具構建,調用sonarScanner對項目代碼進行掃描分析
- 分析報告發(fā)送到SonarQube Server中進行加工
- SonarQube Server加工并且保存分析報告到SonarQube Database中,通過UI顯示分析報告
2. 軟件環(huán)境搭建與使用
SonarQube為Devops平臺所提供的一個測試類型的任務,已經(jīng)由devops的人員搭建完畢,項目組可以直接進行配置使用。
2.1 使用方法
登錄devops研發(fā)協(xié)同系統(tǒng)
- 點擊左側菜單樹中的集成----構建;
- 選擇想要檢測的項目,此處以小企業(yè)的工作流項目為例;
- 點擊編輯,進入任務編輯界面;
- 點擊構建任務;
- 點擊任務列表右側“+號”,將SonarQube添加到任務列表中;
- 任務添加成功后默認排序在最下面,手動將SonarQube調整至Maven執(zhí)行這一步的后面;
- 填寫配置信息(后面具體介紹);
- 點擊保存,結束。
2.2 SonarQube相關屬性說明
屬性 | 是否必填 | 說明 |
---|---|---|
標簽 | 選擇已配置好的標簽 | |
配置文件路徑 | 是 | sonar-project.properties,該文件默認路徑為代碼庫全路徑URL的根下,如果路徑不同則需要配置正確路徑 |
掃描項目路徑 | 掃描項目的絕對路徑,如果為空,則為工作空間根目錄 | |
參數(shù) | sonar運行參數(shù) | |
Sonar配置文件生成 | sonar參數(shù)配置,優(yōu)先級高于sonar配置文件 | |
服務器 | 是 | 選擇已有的SonarQube服務器 |
規(guī)則集 | 是 | 選擇需要用到的規(guī)則,sonar會按照選擇的規(guī)則執(zhí)行掃描,如不選擇,則使用默認的規(guī)則集:Java開發(fā)規(guī)范 |
質量表達式 | 如果為空,則不檢查;否則進行指標檢查,如果不達標,則任務執(zhí)行失敗,一般根據(jù)組織級質量目標確定 | |
資源選擇 | 選擇要推送到的服務器資源 | |
目標目錄 | 選擇要推送到的服務器資源下的路徑 |
2.3 Sonar配置文件內(nèi)容說明
#SonarQube平臺中相對應項目的key,與Sonar.projectName保持一致(具體值可寫工程名)
sonar.projectKey=test
#SonarQube平臺中相對應項目的名字,與Sonar.projectKey保持一致(具體值可寫工程名)
sonar.projectName=test
#SonarQube掃描的工程所在目錄,是相對于sonar.properties的路徑
sonar.projectBaseDir=trunk
#SonarQube工程顯示版本號
sonar.projectVersion=1.0.0-SNAPSHOT
#掃描工程模塊名稱(多模塊英文逗號分隔離)
sonar.modules=test,demo
#指定字符集
sonar.sourceEncoding=UTF-8
#Sonar檢測的源文件目錄
sonar.sources=src/main/java
#編譯路徑
sonar.java.binaries=target
#指定掃描語言類型
sonar.language=java
#Sonar檢測的測試文件目錄
sonar.tests=src/test
#檢測中排除的源文件(排除的源文件不參與檢測,一般排除單元測試文件、配置文件等)匹配0個或多個文件夾、 匹配0個或多個字符該屬性根據(jù)實際情況排除文件定義可用可不用)
sonar.exclusions=/test/*
#用來從覆蓋率報告中排除的匹配方式
sonar.coverage.exclusions=/test/
#指定jacoco的exec二進制文件存放路徑(已棄用),目前采用xml文件
#sonar.jacoco.reportPaths=target/jacoco.exec(已棄用)
#指定jacoco的xml文件存放路徑
sonar.coverage.jacoco.xmlReportPaths=target/jacoco/jacoco.xml
#顯示git提交人相關信息,如果是svn項目的,就改成svn
sonar.scm.provider=git
#顯示git提交人相關信息
sonar.scm.disabled=false
3. 使用環(huán)節(jié)
可以由開發(fā)測試運維人員在項目部署時對項目代碼進行質量檢測使用,需要將待測代碼提交到指定的git服務器上。文章來源:http://www.zghlxwxcb.cn/news/detail-646627.html
4. 檢查方法
檢察人員可以登錄sonarQube平臺,根據(jù)關鍵詞查找相應的項目,對掃描結果進行檢查文章來源地址http://www.zghlxwxcb.cn/news/detail-646627.html
到了這里,關于代碼質量檢查工具SonarQube的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!