成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何安裝部署Sonar-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)如何安裝部署Sonar,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了安福免費(fèi)建站歡迎大家使用!

前言

Sonar是一個(gè)用于代碼質(zhì)量管理的開放平臺,通過插件機(jī)制,Sonar可以集成不同的測試工具、代碼分析工具以及持續(xù)集成工具。與持續(xù)集成工具(如Hudson/Jenkins等)不同,Sonar并不是簡單地把不同代碼檢查結(jié)果(例如:FindBugs、PMD等)直接顯示在web UI界面上,而是通過不同的插件對這些結(jié)果再加工處理,通過量化的方式度量代碼質(zhì)量的變化,從而可以方便地對不同規(guī)模和種類的工程進(jìn)行代碼質(zhì)量管理。

在對其他工具的支持方面,Sonar 不僅提供了對 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 這些工具里聯(lián)機(jī)查看結(jié)果;同時(shí) Sonar 還對大量的持續(xù)集成工具提供了接口支持,可以很方便地在持續(xù)集成中使用 Sonar。

此外,Sonar 的插件還可以對 Java 以外的其他編程語言提供支持,對國際化以及報(bào)告文檔化也有較好的支持。

Sonar 的功能就是來檢查代碼是否有 BUG。除了檢查代碼是否有 bug 還有其他的功能,比如說:你的代碼注釋率是多少,代碼有一些建議,編寫語法的建議。所以稱之為質(zhì)量管理

關(guān)于Sonar的相關(guān)下載及文檔可以移步至其官方網(wǎng)站。

一、部署Sonar

注:接下來的配置是基于博文部署Jenkins+Gitlab實(shí)現(xiàn)持續(xù)集成的環(huán)境進(jìn)行部署的。

以下所有的源碼包及插件都可以在此網(wǎng)盤鏈接中下載。

[root@jenkins src]# unzip sonarqube-5.6.zip 
[root@jenkins src]# mv sonarqube-5.6 /usr/local/sonarqube
[root@jenkins src]# ln -s /usr/local/sonarqube/bin/linux-x86-64/sonar.sh /usr/local/bin

二、安裝MySQL

sonar需要使用到數(shù)據(jù)庫,這里我使用MySQL數(shù)據(jù)庫,如果環(huán)境中存在數(shù)據(jù)庫,則無需部署,只需要?jiǎng)?chuàng)建相應(yīng)的庫及賬號即可。

#采用RPM包的方式部署MySQL
[root@jenkins mysql]# ls        #確定當(dāng)前目錄下有這幾個(gè)包,可以在我文章開頭的鏈接中下載
mysql-community-client-5.7.25-1.el7.x86_64.rpm
mysql-community-common-5.7.25-1.el7.x86_64.rpm
mysql-community-libs-5.7.25-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
mysql-community-server-5.7.25-1.el7.x86_64.rpm
[root@jenkins mysql]# yum localinstall mysql-community-* -y   #安裝MySQL
[root@jenkins mysql]# grep password /var/log/mysqld.log     #在MySQL日志中查看數(shù)據(jù)庫的root密碼
2019-11-18T14:11:15.565475Z 1 [Note] A temporary password is generated for root@localhost: qzg6X)qt%MQg
#上面末尾就是MySQL的默認(rèn)root密碼
[root@jenkins mysql]# mysql -uroot -p'qzg6X)qt%MQg'   #登錄數(shù)據(jù)庫,密碼需要用單引號引起來
#創(chuàng)建相應(yīng)的庫及用戶
mysql> alter user 'root'@'localhost' identified by 'Ljz@123.com';
mysql> create database sonar character set utf8 collate utf8_general_ci;
mysql> grant all on sonar.* to 'sonar'@'%' identified by 'Ljz@123.com';
mysql> grant all on sonar.* to 'sonar'@'localhost' identified by 'Ljz@123.com';
mysql> flush privileges;

三、配置Sonar

[root@jenkins mysql]# cd /usr/local/sonarqube/conf/
[root@jenkins conf]# vim sonar.properties      #編輯主配置文件
sonar.jdbc.username=sonar     #定義連接數(shù)據(jù)庫的用戶
sonar.jdbc.password=Ljz@123.com   #指定數(shù)據(jù)庫用戶的密碼
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
#用來定義連接數(shù)據(jù)庫的地址及端口
sonar.web.port=9000                #指定其監(jiān)聽端口
#配置sonar支持中文頁面及支持PHP
[root@jenkins src]# cd /usr/local/sonarqube/extensions/plugins/
[root@jenkins plugins]# cp /usr/src/sonar-l10n-zh-plugin-1.11.jar .
[root@jenkins plugins]# cp /usr/src/sonar-php-plugin-2.9-RC1.jar .
[root@jenkins conf]# sonar.sh start       #啟動(dòng)sonar,給它點(diǎn)初始化的時(shí)間
[root@jenkins conf]# tail -2 /usr/local/sonarqube/logs/sonar.log   #查看sonar日志
2019.11.18 22:26:16 INFO  ce[o.s.ce.app.CeServer] Compute Engine is up
2019.11.18 22:26:16 INFO  app[o.s.p.m.Monitor] Process[ce] is up
#當(dāng)出現(xiàn)上面兩行以“up”結(jié)尾的則表示sonar啟動(dòng)正常。
[root@jenkins conf]# netstat -anpt | grep 9000    #確定端口在監(jiān)聽
tcp        0      0 0.0.0.0:9000            0.0.0.0:*               LISTEN      10655/java

client訪問sonar的web界面:

如何安裝部署Sonar

四、配置代碼掃描功能

#配置代碼掃描
[root@jenkins src]# unzip sonar-scanner-cli-3.3.0.1492-linux.zip
[root@jenkins src]# mv sonar-scanner-3.3.0.1492-linux/ /usr/local/sonar-scanner
[root@jenkins src]# ln -s /usr/local/sonar-scanner/bin/sonar-scanner /usr/local/bin/
[root@jenkins src]# ln -s /usr/local/sonar-scanner/bin/sonar-scanner /usr/bin
[root@jenkins src]# cd /usr/local/sonar-scanner/conf/
[root@jenkins conf]# egrep -v '^$|^#' sonar-scanner.properties    #修改此配置文件如下
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
#以下是從sonar的主配置文件中復(fù)制:/usr/local/sonarqube/conf/sonar.properties中復(fù)制過來的,用于連接數(shù)據(jù)庫
sonar.jdbc.username=sonar
sonar.jdbc.password=Ljz@123.com
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

五、測試代碼掃描功能

[root@jenkins src]# unzip testalyzer-master.zip 
[root@jenkins src]# cd testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests/
[root@jenkins php-sonar-runner-unit-tests]# cat sonar-project.properties 
#看一下下面的文件中都包含了些什么
sonar.projectKey=org.sonarqube:php-ut-sq-scanner     #自定義秘鑰,如果秘鑰一樣,就會自動(dòng)覆蓋之前的測試結(jié)果
sonar.projectName=PHP :: PHPUnit :: SonarQube Scanner        #web界面顯示的名稱
sonar.projectVersion=1.0      #版本
sonar.sources=src        #軟件包存放路徑
sonar.tests=tests       #測試路徑
sonar.language=php        #要測試的語言
sonar.sourceEncoding=UTF-8          #編碼格式
#測試PHP代碼
[root@jenkins php-sonar-runner-unit-tests]# pwd    #確定在當(dāng)前路徑
/usr/src/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests
[root@jenkins php-sonar-runner-unit-tests]# sonar-scanner    #進(jìn)行測試
#測試js代碼
[root@jenkins php-sonar-runner-unit-tests]# cd ../../javascript/javascript-sonar-runner
[root@jenkins javascript-sonar-runner]# sonar-scanner      #進(jìn)行測試

當(dāng)執(zhí)行完成對js及PHP的測試后,即可在sonar的web界面看到如下內(nèi)容:

如何安裝部署Sonar

點(diǎn)擊進(jìn)入后可以看到詳細(xì)信息:

如何安裝部署Sonar

六、配置Jenkins開啟Sonar

登錄到Jenkins的web界面,需要安裝插件,有在線安裝及離線安裝兩種方式,我這里選擇離線安裝,可以自行進(jìn)行在線安裝的方式。

1、依次點(diǎn)擊:系統(tǒng)管理===》插件管理===》高級,然后下拉頁面:

下載我提供的插件,按照以下順序依次添加,若是在線安裝,依次搜索“SonarQube Scanner”、“Gerrit Trigger”、"Sonar Gerrit Plugin"進(jìn)行安裝即可:

如何安裝部署Sonar

2、依次點(diǎn)擊:系統(tǒng)管理===》系統(tǒng)設(shè)置,然后配置如下:

如何安裝部署Sonar

如何安裝部署Sonar

3、依次點(diǎn)擊:系統(tǒng)管理===》全局工具配置,然后單擊如下:

如何安裝部署Sonar

如何安裝部署Sonar

4、進(jìn)入上個(gè)博文中構(gòu)建的項(xiàng)目,然后點(diǎn)擊進(jìn)入,如下:

如何安裝部署Sonar

如何安裝部署Sonar

如何安裝部署Sonar

在終端復(fù)制一下代碼:

[root@jenkins sonar-scanner]# cd /usr/src/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests
#切換至此路徑
[root@jenkins php-sonar-runner-unit-tests]# egrep -v '^$|^#' sonar-project.properties 
#復(fù)制以下代碼
sonar.projectKey=org.sonarqube:php-ut-sq-scanner
sonar.projectName=PHP :: PHPUnit :: SonarQube Scanner
sonar.projectVersion=1.0
sonar.sources=src
sonar.tests=tests
sonar.language=php
sonar.sourceEncoding=UTF-8
sonar.php.coverage.reportPath=reports/phpunit.coverage.xml
sonar.php.tests.reportPath=reports/phpunit.xml

5、然后在圖中粘貼復(fù)制的代碼(為了方便區(qū)分測試結(jié)果,建議修改“sonar.projectKey”的值):

如何安裝部署Sonar

6、回到終端,向gitlab提交代碼,即可實(shí)現(xiàn)自動(dòng)sonar掃描

[root@jenkins php-sonar-runner-unit-tests]# pwd
/usr/src/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests
[root@jenkins php-sonar-runner-unit-tests]# cp -r * ~/
test01/
#將測試代碼復(fù)制到本地git庫(這個(gè)庫是我在上篇博文中創(chuàng)建的,如果沒有本地git庫,可以再次克隆一下)
[root@jenkins php-sonar-runner-unit-tests]# cd ~/test01/      #切換至本地git庫
[root@jenkins test01]# rm -rf sonar-project.properties   #刪除這個(gè)文件,不需要使用它來給我們指定要測試的代碼了
#因?yàn)槲覀冊趧偛诺膚eb界面已經(jīng)將其配置文件寫在了web界面。優(yōu)先使用web界面配置的檢測代碼。
#不刪除這個(gè)文件也行
#然后提交到遠(yuǎn)端的gitlab庫
[root@jenkins test01]# git add *
[root@jenkins test01]# git commit -m "test sonar"
[root@jenkins test01]# git push origin master

當(dāng)提交到遠(yuǎn)端gitlab庫后,即可看到sonar的web界面已經(jīng)進(jìn)行了代碼掃描,并且顯示出了掃描結(jié)果,如下:

如何安裝部署Sonar

7、配置Jenkins郵件報(bào)警

這里先附一個(gè)所有操作的截圖,因?yàn)槲业淖鐾暌院?,有些小問題,已經(jīng)凌晨十二點(diǎn)半了,懶的排錯(cuò)了,可以結(jié)合下面這張圖做郵件報(bào)警:

如何安裝部署Sonar

開始配置郵件報(bào)警:

在Jenkins的web界面依次點(diǎn)擊:系統(tǒng)管理===》系統(tǒng)設(shè)置,然后在下面輸入系統(tǒng)管理員的郵箱地址并保存:

如何安裝部署Sonar

再次點(diǎn)擊:系統(tǒng)管理===》系統(tǒng)設(shè)置

如何安裝部署Sonar

配置項(xiàng)目,如下:

如何安裝部署Sonar

如何安裝部署Sonar

增加構(gòu)建后的操作:
如何安裝部署Sonar

其實(shí)是增加兩個(gè)構(gòu)建后的操作,如下(最后我的郵件發(fā)送報(bào)警有問題,建議下面的E-mail Notification和Editable Email Notification依次添加,不要這兩個(gè)一起添加了):

如何安裝部署Sonar

然后下拉頁面,點(diǎn)擊如下:

如何安裝部署Sonar

如何安裝部署Sonar

至此,郵箱報(bào)警就配置完成了,此時(shí),可以在控制臺關(guān)閉gitlab或者手動(dòng)構(gòu)建代碼,測試是否可以收到報(bào)警郵件。

以上就是如何安裝部署Sonar,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:如何安裝部署Sonar-創(chuàng)新互聯(lián)
地址分享:http://jinyejixie.com/article18/dehgdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、用戶體驗(yàn)做網(wǎng)站、微信公眾號、定制網(wǎng)站、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)
开阳县| 金湖县| 玉环县| 汤原县| 罗源县| 界首市| 江山市| 奈曼旗| 扬中市| 和静县| 镇沅| 惠来县| 兴安县| 瑞金市| 长垣县| 靖宇县| 霍州市| 广西| 贞丰县| 周宁县| 永清县| 平昌县| 汝阳县| 清水县| 珠海市| 墨脱县| 泊头市| 兰溪市| 夹江县| 彰化市| 永嘉县| 清新县| 揭东县| 大渡口区| 四子王旗| 新丰县| 定安县| 山丹县| 万宁市| 崇阳县| 昌图县|