簡介
Sonar 是一個用於代碼質量管理的開放平臺。通過插件機制,Sonar 可以集成不同的測試工具,代碼分析工具,以及持續集成工具。與持續集成工具(例如 Hudson/Jenkins 等)不同,Sonar 並不是簡單地把不同的代碼檢查工具結果(例如 FindBugs,PMD 等)直接顯示在 Web 頁面上,而是通過不同的插件對這些結果進行再加工處理,通過量化的方式度量代碼質量的變化,從而可以方便地對不同規模和種類的工程進行代碼質量管理。
硬件要求
1GB 內存以上
環境
CentOS 6.6、JDK7、MySQL5.1 、SonarQube-4.5.4(LTS)
root 用戶操作:
準備工作:安裝 JDK7 並配置好了環境變量
安裝 MySQL5.1
具體操作查看站內《Linux 安裝MySQL》文章介紹。
配置 MySQL
結合 SonarQube,MySQL 數據庫最好使用 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%';
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
設置 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%';
創建 sonarqube 數據庫(UTF-8 編碼)
安裝 SonarQube 的 Web Server
下載最新 LTS 版的 SonarQube 安裝包(當前版本爲 sonarqube-4.5.4.zip):下載地址:http://www.sonarqube.org/downloads/
[img]
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=xxx
sonar.jdbc.password=xxx
#----- MySQL 5.x
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterE ncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
#--------------WEB SERVER
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
$ /home/xxx/projects/sonarqube-4.5.4/bin/linux-x86-64/sonar.sh start
(初次啓動會自動建表和做相應的初始化)
瀏覽器中輸入:http://192.168.2.1:9090/sonarqube/
(第一次訪問非常慢,會出現訪問不了的現象,等幾分鐘)
[img]
登錄,默認用戶名/密碼爲 admin/admin
[img]
到此,SonarQube 已安裝完畢,對 SonarQube 的配置和使用待續。