初識(shí)Sonar

1.Sonar概述

Sonar是一個(gè)用于代碼質(zhì)量管理的開(kāi)放平臺(tái)。通過(guò)插件機(jī)制,Sonar可以繼承不同的測(cè)試工具,代碼分析工具,以及持續(xù)集成工具。
與持續(xù)集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是簡(jiǎn)單地把不同的代碼檢查工具結(jié)果(例如 FindBugs,PMD 等)直接顯示在 Web 頁(yè)面上,而是通過(guò)不同的插件對(duì)這些結(jié)果進(jìn)行再加工處理,通過(guò)量化的方式度量代碼質(zhì)量的變化,從而可以方便地對(duì)不同規(guī)模和種類(lèi)的工程進(jìn)行代碼質(zhì)量管理。
在對(duì)其他工具的支持方面,Sonar 不僅提供了對(duì) IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 這些工具里聯(lián)機(jī)查看結(jié)果;同時(shí) Sonar 還對(duì)大量的持續(xù)集成工具提供了接口支持,可以很方便地在持續(xù)集成中使用 Sonar。
此外,Sonar 的插件還可以對(duì) Java 以外的其他編程語(yǔ)言提供支持,對(duì)國(guó)際化以及報(bào)告文檔化也有良好的支持。

2.Sonar的安裝

前提環(huán)境:

1.已安裝Java環(huán)境。
2.已安裝數(shù)據(jù)庫(kù)(本文章中使用mysql數(shù)據(jù))。

軟件下載地址:http://www.sonarqube.org/downloads/
分別下載SonarQube和SonarQube-Runner。

注意:目前最新版的SonarQube版本為5.6,要求mysql數(shù)據(jù)庫(kù)版本在5.6以上,剛開(kāi)始我用SonarQube5.6的版本,mysql為5.1,sonar服務(wù)死活起不了。后來(lái)google一下,發(fā)現(xiàn)這個(gè)問(wèn)題。于是將sonar版本改為4.5.7。

1.數(shù)據(jù)庫(kù)配置:
進(jìn)入數(shù)據(jù)庫(kù):

#mysql -uroot -p[密碼]
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;

2.安裝sonarqube和sonar-runner
①將下載的sonar-3.7.zip包解壓至Linux某路徑如/usr/local
②將下載的sonar-runner-dist-2.3.zip包解壓某路徑/usr/local
③添加SONAR_HOME、SONAR_RUNNER_HOME環(huán)境變量,并將SONAR_RUNNER_HOME加入PATH。如下圖


3.修改sonarqube的配置文件
sonarqube配置文件位置:<install_directory>/conf/sonar.properties(例如:/usr/local/sonarqube-4.5.7/conf/sonar.properties)
該文件中包含配置數(shù)據(jù)庫(kù)設(shè)置以及web啟動(dòng)的一系列設(shè)置。
①配置數(shù)據(jù)庫(kù)設(shè)置:默認(rèn)已經(jīng)提供了各類(lèi)數(shù)據(jù)庫(kù)的支持,這里使用mysql,因此取消mysql模塊的注釋。如下圖


②web啟動(dòng)配置:sonar支持類(lèi)似tomcat服務(wù)啟動(dòng)配置一樣,默認(rèn)的端口號(hào)為9000,host為localhost。如下圖:在這里我把端口號(hào)改了,原因是9000端口貌似被占用,因此改為9003.


4.修改sonar-runner的配置文件:
sonar-runner配置文件位置:<install_directory>/conf/sonar-scanner.properties(例如:/usr/local/sonar-scanner-2.6.1/conf/sonar-scanner.properties)將默認(rèn)的注釋去掉。如下圖:


5.啟動(dòng)服務(wù)
目錄切換至sonar的<install_directory>/bin/macosx-universal-64/目錄,啟動(dòng)服務(wù)

#./sonar.sh start   啟動(dòng)服務(wù)
#./sonar.sh stop    停止服務(wù)
#./sonar.sh restart 重啟服務(wù)
#./sonar.sh console 查看控制臺(tái)

至此,sonar就安裝好了
訪問(wèn)http://localhost:9003 即可

6.sonar中文補(bǔ)丁包安裝中文包安裝安裝中文補(bǔ)丁包可以通過(guò)訪問(wèn)http://localhost:9003 ,打開(kāi)sonar后,進(jìn)入更新中心安裝或者下載中文補(bǔ)丁包后,放到SONARQUBE_HOME/extensions/plugins目錄,然后重啟SonarQube服務(wù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,578評(píng)論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,701評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事?!?“怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,691評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,974評(píng)論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,694評(píng)論 6 413
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 56,026評(píng)論 1 329
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,015評(píng)論 3 450
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,193評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,719評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,668評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,151評(píng)論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,846評(píng)論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,255評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,592評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,394評(píng)論 3 400
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,635評(píng)論 2 380

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,836評(píng)論 18 139
  • 一、前言 年初的時(shí)候部門(mén)各組都給出了自己的規(guī)范文檔,包括部門(mén)工作規(guī)范、各語(yǔ)言開(kāi)發(fā)規(guī)范、測(cè)試規(guī)范、數(shù)據(jù)庫(kù)規(guī)范、安全規(guī)...
    dancingking閱讀 15,182評(píng)論 8 20
  • 新晉測(cè)試小白最近在研究sonarqube的靜態(tài)代碼檢查,整理了關(guān)于sonarqube 如何在mac os x系統(tǒng)下...
    測(cè)試小白_stone閱讀 1,972評(píng)論 0 1
  • 信任是很可貴的,不要肆意去欺騙任何人,因?yàn)槟苌袭?dāng)受騙的只會(huì)是信任你的人。
    W琬in閱讀 282評(píng)論 0 1
  • 1. clamor The people were clamouring for their rights of ...
    Mr_Oldman閱讀 184評(píng)論 0 0