Dubbo視頻教程--基礎篇--第15節--持續集成篇--SonarQube代碼質量管理平臺的介紹與安裝

一、SonarQube的介紹

1、SonarQube的介紹 :

SonarQube是一個管理代碼質量的開放平臺。

可以從七個維度檢測代碼質量(為什么要用SonarQube):

(1)? 復雜度分布(complexity) :代碼復雜度過高將難以理解、難以維護

(2)? 重復代碼(duplications) :程序中包含大量復制粘貼的代碼是質量低下的表現

(3)? 單元測試(unit tests) :統計并展示單元測試覆蓋率

(4)? 編碼規范(coding rules) :通過Findbugs,PMD,CheckStyle等規范代碼編寫

(5)? 注釋(comments) :少了可讀性差,多了看起來費勁

(6)? 潛在的Bug(potential bugs) :通過Findbugs,PMD,CheckStyle等檢測潛在的bug

(7)? 結構與設計(architecture & design) :依賴、耦合等

Sonar 可以集成不同的測試工具、代碼分析工具、持續集成工具、IDE。

Sonar通過對代碼質量分析結果數據進行再加工處理,通過量化的方式來度量

代碼質量的變化,從而可以方便地對工程進行代碼質量管理。

支持的語言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。

2、SonarQube平臺的組成:

(1) 數據庫:存放SonarQube的配置數據、代碼質量的快照數據

(2) Web服務:用于查看SonarQube的配置數據、代碼質量的快照數據

(3) 分析器:對項目代碼進行分析,生成質量結果數據并存入數據庫中

(分析器有多種,我們選用 SonarQube Maven Plugin)


架構圖


二、SonarQube的安裝

安裝環境要求說明:

http://docs.sonarqube.org/display/SONAR/Requirements

本教程安裝環境:

(1) CentOS 6.6

(2) Oracle JDK 7u72

(3) MySQL5.1

(4) SonarQube-4.5.4 (LTS)

安裝步驟:

http://docs.sonarqube.org/display/SONAR/Installing

(具體安裝步驟請參照安裝詳細步驟文檔和視頻教程)

IP: 192.168.4.221

環境 : CentOS 6.6 、 JDK7 、 MySQL5.1? 、 SonarQ ube- - 4.5.4 (LTS)

root? 用 戶操作

準備工作:已安裝 JDK7 并配置好了環境變量

1、安裝MySQL5 .1

( 可參 考 前面 面 N SVN? 管 理平臺的 的 L MySQL? 安 裝步驟,如果已安裝則 無 需安裝 )

# rpm -qa | grep mysql ## 查看該操作系統上是否已經安裝了 mysql 數據庫,

有的話,可以通過 rpm -e 命令 或者 rpm -e --nodeps 命令來卸載掉

# yum install mysql-server mysql mysql-devel

# service mysqld start

# chkconfig --list | grep mysqld

mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off

用上面的命令查看到 MySQL 并沒有設置開機啟動,所以需要設置開機啟動

# chkconfig mysqld on

為了方便遠程管理,防火墻中打開 3306 端口

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重啟防火墻,使端口配置生效

# service iptables restart

設置 MySQL 數據庫 root 用戶的密碼:

# mysqladmin -u root password 'wusc.123'

登錄數據庫:

# mysql -u root -p

MySQL 授權遠程訪問(先用 root 登錄 mysql)

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wusc.321' WITH

GRANT OPTION;

mysql> FLUSH PRIVILEGES;

2、配置MySQL

結合SonarQube,MySQL數據庫最好使用 B InnoDB? 引擎 , 可提高性能。

看你的 mysql 現在已提供什么存儲引擎:mysql> show engines;


查看存儲引擎

看你的 mysql 當前默認的存儲引擎:

mysql> show variables like '%storage_engine%';


默認的存儲引擎

修改 MySQL 存儲引擎為 InnoDB, 在配置文件/etc/my.cnf 中的

[mysqld] 下面加入 default-storage-engine=INNODB

# vi /etc/my.cnf

[mysqld]

default-storage-engine=INNODB

重啟 mysql 服務器

# service mysqld restart

再次登錄 MySQL 查看默認引擎設置是否生效

mysql> show variables like '%storage_engine%';

+----------------+--------+

| Variable_name | Value |

+----------------+--------+

| storage_engine | InnoDB |

+----------------+--------+

innodb_buffer_pool_size 參 數值設置得盡可能大 一 點

這個參數主要作用是緩存 innodb 表的索引,數據,插入數據時的緩沖

默認值:128M,專用 mysql 服務器設置的大小:操作系統內存的 70%-80%最佳。

設置方法:my.cnf 文件[mysqld] 下面加入 innodb_buffer_pool_size 參數

# vi /etc/my.cnf

[mysqld]

innodb_buffer_pool_size = 256M

(我們這里設置為 256M,因為我們的不是專用的 MySQL 數據庫服務器,還有很多其他的服

務需要占用系統內存)

設置 MySQL? 的 查詢緩存 query_cache_size , , 最 少設置? 15M

# vi /etc/my.cnf

[mysqld]

query_cache_type=1

query_cache_size=32M

重啟 mysql 服務器

# service mysqld restart

驗證緩存設置是否生效:

mysql> show variables like '%query_cache%';

+------------------------------+----------+

| Variable_name | Value |

+------------------------------+----------+

| have_query_cache | YES |

| query_cache_limit | 1048576 |

| query_cache_min_res_unit | 4096 |

| query_cache_size | 33554432 |

| query_cache_type | ON |

| query_cache_wlock_invalidate | OFF |

+------------------------------+----------+

3、創建sonarqube數據庫(UTF-8編碼)

三、安裝SonarQube的Web Server

下載最新 LTS 版的 SonarQube 安裝包(當前版本為 sonarqube-4.5.4.zip):

下載地址:http://www.sonarqube.org/downloads/


下載界面

http://dist.sonar.codehaus.org/sonarqube-4.5.4.zip

下載:

# wget http://dist.sonar.codehaus.org/sonarqube-4.5.4.zip

解壓安裝:

# unzip sonarqube-4.5.4.zip

# mv sonarqube-4.5.4 sonarqube

編輯 sonar 配置:

# cd sonarqube/conf/

# vi sonar.properties

sonar.jdbc.username=yulei

sonar.jdbc.password=123456

#----- MySQL 5.x

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterE

ncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.web.host=0.0.0.0

sonar.web.context=/sonarqube

sonar.web.port=9090

保存以上配置(注意,要看看默認的 9000 端口是否已被占用)

防火墻中打開 9090 端口:

# vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT

重啟防火墻,使端口配置生效

# service iptables restart

啟動 SonarQube Web Server

# /root/sonarqube/bin/linux-x86-64/sonar.sh start

(初次啟動會自動建表和做相應的初始化)

瀏覽器中輸入:http://192.168.4.221:9090/sonarqube/


sonarqube首頁

登錄,默認用戶名/密碼為 admin/admin


登錄頁


到此,SonarQub已安裝完畢,接下來是對SonarQube做相應的配置和使用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,546評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,570評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,505評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,017評論 1 313
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,786評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,219評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,287評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,438評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,971評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,796評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,995評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,540評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,230評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,662評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,918評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,697評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,991評論 2 374

推薦閱讀更多精彩內容