質(zhì)量管理工具sonarQube環(huán)境搭建教程

1. 構(gòu)建持續(xù)的質(zhì)量管理平臺(tái)的生態(tài)環(huán)境

  • 源碼版本控制工具:SVN闲孤、Git等
  • JDK:JDK1.8地址
  • 持續(xù)集成工具:Jenkins等
  • 質(zhì)量管理工具:SonarQube等

2. SonarQube的工具鏈

  • 工程(Project):待分析的源碼工程;
  • 一個(gè)數(shù)據(jù)庫(kù)(SonarQube Database):存放配置信息和分析結(jié)果信息烤礁;以Mysql為例讼积;
  • 一個(gè)WEB服務(wù)器(SonarQube Server):發(fā)布應(yīng)用,在線瀏覽鸽凶、配置分析币砂;
  • 一個(gè)客戶端(SonarQube Scanner):執(zhí)行源代碼分析建峭。
    • 原名為 sonar runner玻侥,改為 sonar scanner

3. 本文主要介紹 SonarQube 在mac機(jī)上的搭建流程

3.1 搭建 Mysql 數(shù)據(jù)庫(kù)

  • 3.1.1 Mysql 下載地址

  • 3.1.2 點(diǎn)擊 mysql 的 dmg 文件,安裝mysql亿蒸,安裝完成獲取提示凑兰,注意記錄賬號(hào) root;密碼:LhEfS:lEe0c(密碼隨機(jī)生成):

    2017-09-18T13:50:51.563897Z 1 [Note] A temporary password is generated for root@localhost: LhEfS:lEe0c)
    
    If you lose this password, please consult the section How to Reset the Root Password in the MySQL reference manual.
    
  • 3.1.3 驗(yàn)證mysql安裝結(jié)果
    終端輸入 mysql --version 命令行边锁,顯示以下內(nèi)容則表示安裝成功

    mysql --version
    mysql  Ver 14.14 Distrib 5.7.19, for macos10.12 (x86_64) using  EditLine wrapper
    
    • 驗(yàn)證失敗處理方法

      如果沒(méi)有成功姑食,執(zhí)行以下命令行:

       cd /usr/local/bin/
       sudo ln -fs /usr/local/mysql/bin/mysql mysql
      
  • 3.1.4 終端登錄 mysql 數(shù)據(jù)庫(kù)
    終端輸入 mysql -u root -p 之后輸入密碼(LhEfS:lEe0c),顯示以下內(nèi)容表示登錄成功:

    mysql -u root -p
    Enter password: *******
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 36
    Server version: 5.7.19 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> 
    
    • 登錄異常處理措施:

      Access denied for user 'root'@'localhost' (using password: YES)
      
      • 停止MySQL的服務(wù)茅坛,打開系統(tǒng)的偏好設(shè)置音半,找到MySQL 進(jìn)去后则拷,點(diǎn)擊Stop MySQL Server即可。

        停止Mysql.png
      • 開啟兩個(gè)終端曹鸠,在第一個(gè)終端輸入 sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables 輸入當(dāng)前用戶的密碼煌茬,如下所示

        sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
        Password:******
        2017-09-20T03:47:18.6NZ mysqld_safe Logging to '/usr/local/mysql/data/Kim.local.err'.
        2017-09-20T03:47:18.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
        
      • 然后在第二個(gè)終端輸入 sudo /usr/local/mysql/bin/mysql -u -root ,然后輸入當(dāng)前用戶的密碼后彻桃,出現(xiàn)以下的界面

        sudo mysql -u root
        Welcome to the MySQL monitor.  Commands end with ; or \g.
        Your MySQL connection id is 36
        Server version: 5.7.19 MySQL Community Server (GPL)
        
        Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
        
        Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
        
        Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
        
        mysql> 
        
      • 然后在第二個(gè)終端繼續(xù)輸入命令 UPDATE mysql.user SET authentication_string=PASSWORD('新密碼') WHERE User='root'; 回車坛善,出現(xiàn)以下內(nèi)容,說(shuō)明修改成功邻眷。

        mysql> UPDATE mysql.user SET authentication_string=PASSWORD('newPassword') WHERE User='root';
        Query OK, 0 rows affected, 1 warning (0.01 sec)
        Rows matched: 1 Changed: 0  Warnings: 1
        
        mysql>
        
      • 然后在第二個(gè)終端繼續(xù)輸入命令 FLUSH PRIVILEGES; 回車眠屎,出現(xiàn)以下內(nèi)容。

        mysql> FLUSH PRIVILEGES; 
        Query OK, 0 rows affected (0.00 sec)
        
        mysql>
        
      • 然后在第二個(gè)終端繼續(xù)輸入命令 \q 肆饶,退出旭贬,關(guān)閉第一個(gè)終端脂倦,回到系統(tǒng)的偏好設(shè)置,重新開啟MySQL即可。

        mysql> \q
        Bye
        

3.2 創(chuàng)建sonar user 和 database

  • 3.2.1 打開一個(gè)終端世分,輸入命令

    mysql -u root -p
    CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
    CREATE USER 'sonar' IDENTIFIED BY 'sonar';
    GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
    GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
    FLUSH PRIVILEGES;
    
    • 異常處理

      ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

      解決方法:SET PASSWORD=PASSWORD('新密碼’); 注意該新密碼指的是root用戶; 參考 http://blog.sina.com.cn/s/blog_7d553bb50102w9rb.html

3.3 下載SonarQube服務(wù)

  • 3.3.1 JAVA JDK下載地址 橡类,安裝完成桥滨,終端輸入命令 java -version

    java -version
    java version "1.8.0_40"
    Java(TM) SE Runtime Environment (build 1.8.0_40-b27)
    Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
    
  • 3.3.2 下載地址 版本SonarQube 5.6.6 (LTS *) 建議下載LTS最新版本,不建議下載非LTS版作為生產(chǎn)使用洒放。

  • 3.3.3 打開終端蛉鹿,執(zhí)行命令

    unzip sonarqube-5.6.zip
    mv sonarqube-5.6 /usr/local
    
  • 3.3.4 修改 sonar.properties

    文件路徑 :

    /usr/local/sonarqube-5.6/conf/sonar.properties
    

    修改參數(shù):

    sonar.jdbc.username=sonar
    sonar.jdbc.password=sonar
    sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
    
  • 3.3.5 sonar命令行

    • 啟動(dòng)sonar

      sudo /usr/local/sonarqube-5.6/bin/linux-x86-64/sonar.sh start
      
    • 關(guān)閉 sonar:

      sudo /usr/local/sonarqube-5.6/bin/linux-x86-64/sonar.sh stop
      
    • 重啟 sonar:

      sudo /usr/local/sonarqube-5.6/bin/linux-x86-64/sonar.sh restart
      
  • 3.3.6 訪問(wèn) http://localhost:9000

    • 默認(rèn)賬號(hào):admin 默認(rèn)密碼:admin

      • 異常處理,如果sonar配置MySQL失敗往湿,Web頁(yè)面會(huì)提示妖异,sonar會(huì)使用默認(rèn)的數(shù)據(jù)庫(kù)。
    配置MySQL失敗的提示.png

3.4 配置 Sonar Scanner 分析器

  • 3.4.1 打開終端领追,執(zhí)行 brew install sonar-scanner

    brew install sonar-scanner
    
  • 3.4.2 驗(yàn)證 sonar-scanner 安裝結(jié)果

    sonar-scanner --version
    INFO: Project root configuration file: NONE
    INFO: SonarQube Scanner 3.0.3.778
    INFO: Java 1.8.0_40 Oracle Corporation (64-bit)
    INFO: Mac OS X 10.12.6 x86_64
    

3.5 配置必須的插件

  • 3.5.1 漢化插件流程

    插件安裝流程.png

4 SonarQube的安裝結(jié)束他膳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市绒窑,隨后出現(xiàn)的幾起案子棕孙,更是在濱河造成了極大的恐慌,老刑警劉巖些膨,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蟀俊,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡订雾,警方通過(guò)查閱死者的電腦和手機(jī)肢预,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)洼哎,“玉大人烫映,你說(shuō)我怎么就攤上這事沼本。” “怎么了锭沟?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵擅威,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我冈钦,道長(zhǎng)郊丛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任瞧筛,我火速辦了婚禮厉熟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘较幌。我一直安慰自己揍瑟,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布乍炉。 她就那樣靜靜地躺著绢片,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岛琼。 梳的紋絲不亂的頭發(fā)上底循,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音槐瑞,去河邊找鬼熙涤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛困檩,可吹牛的內(nèi)容都是我干的祠挫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悼沿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼等舔!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起糟趾,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤慌植,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后拉讯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涤浇,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鳖藕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年魔慷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片著恩。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡院尔,死狀恐怖蜻展,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情邀摆,我是刑警寧澤纵顾,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站栋盹,受9級(jí)特大地震影響施逾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜例获,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一汉额、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧榨汤,春花似錦蠕搜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蜜宪,卻和暖如春虫埂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背圃验。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工告丢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人损谦。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓岖免,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親照捡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子颅湘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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