小編這次要給大家分享的是Docker如何搭建代碼檢測(cè)平臺(tái)SonarQube并檢測(cè)maven項(xiàng)目,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、西吉ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的西吉網(wǎng)站制作公司
1 前言
良好的代碼習(xí)慣是一個(gè)優(yōu)秀程序員應(yīng)該具備的品質(zhì),但靠人的習(xí)慣與記憶來(lái)保證代碼質(zhì)量,始終不是一件靠譜的事。在計(jì)算機(jī)行業(yè)應(yīng)該深知,只要是人為的,都會(huì)有操作風(fēng)險(xiǎn)。本文講解如何通過(guò)Docker
搭建代碼檢測(cè)平臺(tái)SonarQube
,并使用它來(lái)檢測(cè)maven
項(xiàng)目的代碼。
2 Docker安裝SonarQube
2.1 安裝
通過(guò)Docker
安裝,方便快捷,不需要時(shí)直接刪掉容器和鏡像就好了。
# 拉取Sonar鏡像 docker pull sonarqube:8.3.1-community # 運(yùn)行實(shí)例 docker run --name sonarqube -p 9000:9000 -d sonarqube:8.3.1-community
接著訪問(wèn):http://localhost:9000/ 就可以了,默認(rèn)管理員用戶和密碼為:admin/admin
。
這里選擇免費(fèi)的社區(qū)版Community
,另外還有Developer
、Enterprise
等收費(fèi)版本,功能更強(qiáng)大,具體差別如下:
2.2 指定數(shù)據(jù)庫(kù)
一般我們會(huì)自己?jiǎn)?dòng)一個(gè)數(shù)據(jù)庫(kù)如Oracle
、MySQL
或PostgreSQL
。相關(guān)系統(tǒng)信息可以在Administration-System
查看,我們不指定的話,默認(rèn)是使用內(nèi)嵌的H2
數(shù)據(jù)庫(kù)。如果要指定其它數(shù)據(jù)庫(kù),啟動(dòng)Docker時(shí)需要指定:
-e SONARQUBE_JDBC_USERNAME="xxx" \
-e SONARQUBE_JDBC_PASSWORD="***" \
-e SONARQUBE_JDBC_URL="jdbc:mysql://xxx"
使用H2
數(shù)據(jù)庫(kù)有會(huì)以下限制:
內(nèi)嵌數(shù)據(jù)庫(kù)只能用于測(cè)試場(chǎng)景。內(nèi)嵌數(shù)據(jù)庫(kù)無(wú)法擴(kuò)展,也無(wú)法升級(jí)到新版本的SonarQube,并且不能支持將你的數(shù)據(jù)遷移至其他數(shù)據(jù)庫(kù)引擎。
所以建議實(shí)際使用時(shí),不要使用內(nèi)嵌的H2
數(shù)據(jù)庫(kù)。
2.3 進(jìn)入容器
通過(guò)命令:
$ docker exec -it 容器ID bash bash-5.0# ls COPYING bin conf data elasticsearch extensions lib logs temp web bash-5.0#
可以進(jìn)入SonarQube
容器。在目錄/opt/sonarqube
可以查看配置文件、插件、數(shù)據(jù)文件和日志文件等,實(shí)際使用應(yīng)該映射到宿主機(jī)的目錄上,這樣重新啟動(dòng)一個(gè)實(shí)例,數(shù)據(jù)和配置都還在。
2.4 安裝插件
SonarQube
提供了強(qiáng)大的插件管理功能,以中文語(yǔ)言包為示例,講解如何安裝插件:
Administration-Marketplace-Plugins
,在搜索框輸入Chinese
就可以選擇安裝了。
當(dāng)狀態(tài)顯示為Install Pending
時(shí),說(shuō)明插件安裝完成,點(diǎn)擊Restart Server
即可生效。
3 通過(guò)maven檢測(cè)代碼
3.1 通過(guò)賬號(hào)密碼使用
指定SonarQube
平臺(tái)的地址,并指定用戶名和密碼,就能檢測(cè)代碼了,具體命令如下:
mvn clean verify sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.login=admin -Dsonar.password=admin
3.2 通過(guò)Token令牌使用
當(dāng)然,直接使用admin
并暴露密碼并不是一個(gè)好的習(xí)慣,可以通過(guò)配置-權(quán)限-用戶
來(lái)創(chuàng)建用戶,并創(chuàng)建令牌。
復(fù)制令牌:9656c84090b2481db6ea97b6d14d87d546bff619
。
這樣,就可以通過(guò)令牌來(lái)操作了:
mvn clean verify sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.login=9656c84090b2481db6ea97b6d14d87d546bff619
執(zhí)行命令后,就會(huì)在界面上自動(dòng)新建了一個(gè)項(xiàng)目,并給出檢測(cè)結(jié)果:
Sonar
提供了許多指標(biāo)如測(cè)試覆蓋率、復(fù)雜度等,這能大大幫助我們寫出更好的代碼:
4 總結(jié)
SonarQube
功能強(qiáng)大,是DevOps
的重要工具之一,需要了解和掌握。
看完這篇關(guān)于Docker如何搭建代碼檢測(cè)平臺(tái)SonarQube并檢測(cè)maven項(xiàng)目的文章,如果覺(jué)得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。
新聞標(biāo)題:Docker如何搭建代碼檢測(cè)平臺(tái)SonarQube并檢測(cè)maven項(xiàng)目
網(wǎng)站URL:http://www.rwnh.cn/article12/gpocdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站內(nèi)鏈、云服務(wù)器、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)