SonarQube簡單入門

Sonar

官方網(wǎng)站
Sonar 是一個(gè)用于代碼質(zhì)量管理的開放平臺(tái)意狠。通過插件機(jī)制嘶卧,Sonar 可以集成不同的測試工具,代碼分析工具俯萎,以及持續(xù)集成工具傲宜。幫助文檔

系統(tǒng)構(gòu)成

SonarQube平臺(tái)由4部分組成:

  1. SonarQube服務(wù)器
    1. Web服務(wù)器的開發(fā)者,管理者夫啊,瀏覽質(zhì)量快照和配置SonarQube實(shí)例
    2.基于Elasticsearch搜索服務(wù)器從UI向后搜索
    3.負(fù)責(zé)處理代碼分析報(bào)告計(jì)算引擎服務(wù)器函卒,并將其保存在數(shù)據(jù)庫SonarQube
  2. SonarQube數(shù)據(jù)庫來存儲(chǔ)
  3. 多個(gè)插件
  4. 一個(gè)或多個(gè)SonarQube Scanners:可以與CI服務(wù)進(jìn)行集成
    系統(tǒng)構(gòu)成和相互關(guān)系

系統(tǒng)集成

1.開發(fā)人員的代碼在自己的IDE和使用SonarLint運(yùn)行局部分析。
2.開發(fā)人員推他們的代碼到自己喜愛的供應(yīng)鏈管理:SCM撇眯,SVN报嵌,TFVC躁愿,...
3.持續(xù)集成服務(wù)器觸發(fā)自動(dòng)構(gòu)建和SonarQube掃描儀的運(yùn)行SonarQube分析所需的執(zhí)行。
4.分析報(bào)告被發(fā)送到SonarQube服務(wù)器進(jìn)行處理沪蓬。
5.SonarQube服務(wù)器處理和存儲(chǔ)分析報(bào)告導(dǎo)致SonarQube數(shù)據(jù)庫,并顯示結(jié)果在UI中来候。
6.開發(fā)者審核跷叉,評(píng)論,挑戰(zhàn)他們的管理营搅,并通過SonarQube UI減少他們的技術(shù)債務(wù)問題云挟。
7.經(jīng)理收到的分析報(bào)告。 OPS使用API??從SonarQube自動(dòng)化配置和提取數(shù)據(jù)转质。 OPS使用JMX來監(jiān)控SonarQube服務(wù)器园欣。

操作流程

myaql5.7

  1. 配置my.ini文件
basedir = D:\\mysql-5.7.17-win32
datadir = D:\\mysql-5.7.17-win32\\data
port = 3306
  1. 進(jìn)行初始化操作
    直接安裝啟動(dòng)發(fā)現(xiàn)如下錯(cuò)誤:


    啟動(dòng)失敗

    應(yīng)首先進(jìn)行初始化操作才能正常

> mysqld  --initialize
> mysqld  --install
> net start mysql
  1. 修改初始化root密碼
    修改my.ini,在[mysqld]下增加
skip-grant-tables

重啟mysql服務(wù)

> mysql 
mysql> use mysql;
mysql> UPDATE user SET authentication_string=PASSWORD('123456') where USER='root';
mysql> flush privileges;
mysql> quit;

重新進(jìn)行登錄

> mysql -u root -p
123456
mysql> set password = password('123456');

終于修改成功了休蟹!感覺好復(fù)雜7锌荨!赂弓!

啟動(dòng)Sonar

修改配置文件

sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false

啟動(dòng)之后使用mysql數(shù)據(jù)庫

示例使用

  1. 啟動(dòng)SonarQube绑榴,默認(rèn)端口9000
  2. 下載Sonar Scanner作為客戶端
  3. 下載演示用例子:在例子代碼中執(zhí)行客戶端腳本
  4. 在web端查看結(jié)果


    結(jié)果截圖
  5. 配置文件中修改端口和應(yīng)用
    默認(rèn)的端口為9000,應(yīng)用為/盈魁,可以在配置文件中進(jìn)行修改
sonar.web.context=/sonar
sonar.web.port=9881
  1. 下載中文插件
    使用管理者登錄系統(tǒng):默認(rèn)admin/admin
    在配置->系統(tǒng)->更新中心中可以安裝中文插件:查詢chinese即可安裝
  2. 配置數(shù)據(jù)庫
    使用Mysql翔怎,版本必須在5.5以上,使用innodb引擎杨耙。在配置文件中增加如下的內(nèi)容
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false

運(yùn)行啟動(dòng)腳本赤套,需要比較長的時(shí)間進(jìn)行數(shù)據(jù)庫初始化

Sonar客戶端

客戶端主要有:sonar-scanner
maven客戶端:

  1. 使用自定義的mvn setting.xml文件,增加如下的內(nèi)容:
  <pluginGroups>
    <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
  </pluginGroups>
  <profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <!-- Optional URL to server. Default value is http://localhost:9000 -->
            <sonar.host.url>
              http://localhost:9881/sonar
            </sonar.host.url>
        </properties>      
    </profile>
  </profiles>
  1. 工程pom.xml文件中增加如下內(nèi)容
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <sonar.language>java</sonar.language>
    </properties>
  1. 進(jìn)行代碼檢查
mvn clean install -sC:\Users\Administrator\.m2\settings-sonar.xml
mvn sonar:sonar -sC:\Users\Administrator\.m2\settings-sonar.xml
  1. 在瀏覽器中查看執(zhí)行結(jié)果


    執(zhí)行結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末珊膜,一起剝皮案震驚了整個(gè)濱河市容握,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辅搬,老刑警劉巖唯沮,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異堪遂,居然都是意外死亡介蛉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門溶褪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來币旧,“玉大人,你說我怎么就攤上這事猿妈〈盗猓” “怎么了巍虫?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鳍刷。 經(jīng)常有香客問我占遥,道長,這世上最難降的妖魔是什么输瓜? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任瓦胎,我火速辦了婚禮,結(jié)果婚禮上尤揣,老公的妹妹穿的比我還像新娘搔啊。我一直安慰自己,他們只是感情好北戏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布负芋。 她就那樣靜靜地躺著,像睡著了一般嗜愈。 火紅的嫁衣襯著肌膚如雪旧蛾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天蠕嫁,我揣著相機(jī)與錄音蚜点,去河邊找鬼。 笑死拌阴,一個(gè)胖子當(dāng)著我的面吹牛绍绘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播迟赃,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼陪拘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纤壁?” 一聲冷哼從身側(cè)響起左刽,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酌媒,沒想到半個(gè)月后欠痴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秒咨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年喇辽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雨席。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡菩咨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抽米,我是刑警寧澤特占,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站云茸,受9級(jí)特大地震影響是目,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜标捺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一胖笛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宜岛,春花似錦、人聲如沸功舀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辟汰。三九已至列敲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間帖汞,已是汗流浹背戴而。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留翩蘸,地道東北人所意。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像催首,于是被迫代替她去往敵國和親扶踊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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