PS:爲何要有安裝說明?江邊望海在網上找資料的時候發現不少教程是沒有交代清楚安裝環境的。因此,不清楚他們的教程是否適合個人環境。明確『安裝說明』方便網友瞭解個人配置環境,便於你們深刻理解此教程。 php
虛擬機:VirtualBox4.3.26 html
操做用戶:root mysql
系統環境:centos6.6-x86_64(最小化安裝) linux
軟件下載目錄:/root/opt git
================ github
1.須要JDK1.6+支持;(若是不知道如何安裝JDK,請訪問我寫的《Centos下安裝JDK》) web
2.須要Mysql數據庫支持;(雖然SonarQube自帶了H2數據庫,可是爲了方便管理數據推薦使用Mysql數據庫) sql
多說一句:JDK是必須安裝的,Mysql數據庫並非必需要安裝的,若是公司有Mysql服務器,直接拿來使用就行,江邊望海此次就沒有安裝Mysql直接用公司內網提供的Mysql數據庫。 數據庫
================
編程
在安裝以前,介紹一下SonarQube和SonarQube Runner之間的關係。
SonarQube是服務器端,它主要有兩個功能:1.分析源代碼;2.由於它內嵌了Apache模塊,因此提供Web端的界面訪問。
SonarQube Runner是一個利用SonarQube服務端分析代碼的命令行工具,能夠把它簡單理解爲客戶端。
下載地址:http://www.sonarqube.org/downloads/
因此,爲了安裝和調試方便,江邊望海建議SonarQube和SonarQube Runner都下載。
第一步:將下載的http://downloads.sonarsource.com/sonarqube/sonarqube-5.1.1.zip解壓後放到/usr/local目錄下。具體步驟以下:
[root@vb004 opt]# wget -c http://downloads.sonarsource.com/sonarqube/sonarqube-5.1.1.zip [root@vb004 opt]# unzip sonarqube-5.1.1.zip [root@vb004 opt]# mv sonarqube-5.1.1 /usr/local/第二步:配置環境變量
[root@vb004 ~]# vi + /etc/profile 添加 SONAR_HOME=/usr/local/sonarqube-5.1.1 export SONAR_HOME 保存退出並使配置生效 [root@vb004 ~]# source /etc/profile
第三步:配置sonar-runner.properties
[root@vb004 ~]# vi /usr/local/sonarqube-5.1.1/conf/sonar.properties 打開後,找到 sonar.host.url=http://localhost:9000 sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql://192.168.8.234:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance sonar.web.host=0.0.0.0 sonar.web.context= sonar.web.port=80PS:SonarQube默認監聽9000端口。因爲我這個虛擬機打算專門給Sonar使用。因此,修改爲了80.sonar.jdbc.url中的鏈接地址也修改爲了內網中Mysql服務器的地址。
第四步:啓動服務
[root@vb004 ~]# /usr/local/sonarqube-5.1.1/bin/linux-x86-64/sonar.sh start另外,啓動/中止/重啓命令以下:
第四步:訪問SonarQube Web管理界面。若是可以看到這個界面證實SonarQube安裝成功啦。
第一步:將下載的http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip解壓後放到/usr/local目錄下。具體步驟以下:
[root@vb004 opt]# wget -c http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip [root@vb004 opt]# unzip sonar-runner-dist-2.4.zip [root@vb004 opt]# mv sonar-runner-2.4/ /usr/local/
第二步:配置環境變量
[root@vb004 ~]# vi + /etc/profile 添加 SONAR_RUNNER_HOME=/usr/local/sonar-runner-2.4/ PATH=.:$SONAR_RUNNER_HOME/bin export SONAR_RUNNER_HOME 保存並退出 [root@vb004 ~]# source /etc/profile
第三步:配置sonar-runner.properties
[root@vb004 conf]# vi /usr/local/sonar-runner-2.4/conf/sonar-runner.properties 找到 sonar.host.url=http://192.168.199.123 sonar.jdbc.url=jdbc:mysql://192.168.8.234:3306/sonar?useUnicode=true&characterEncoding=utf8 sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.login=admin sonar.password=admin 將前面的#去掉PS:剛纔咱們已經看到SonarQube已經能夠訪問了,因此就將sonar.host.url改爲了實際的訪問地址。
第四步:運行sonar-runner分析源代碼
Sonar官方已經提供了很是全的代碼樣例便於新手入門用。
下載地址:https://github.com/SonarSource/sonar-examples/archive/master.zip
下載後使用unzip解壓。進入php執行sonar-runner命令便可。操做命令以下:
[root@vb004 opt]# wget -c https://github.com/SonarSource/sonar-examples/archive/master.zip [root@vb004 opt]# unzip master.zip [root@vb004 opt]# cd sonar-examples-master/projects/languages/php/php-sonar-runner [root@vb004 php-sonar-runner]# sonar-runner若是可以看到下面的輸出信息,證實你的SonarQube Runner安裝並配置正確啦。
INFO: ------------------------------------------------------------------------ INFO: EXECUTION SUCCESS INFO: ------------------------------------------------------------------------ Total time: 2:59.167s Final Memory: 17M/204M INFO: ------------------------------------------------------------------------第五步:看看SonarQube的Web界面,是否已經能夠看到分析的結果啦。
SonarQube默認是沒有安裝中文語言包的。能夠看到個人截圖顯示的是中文,由於我安裝了中文語言包。如何安裝語言包呢。進入SonarQube插件目錄,下載語言包便可。步驟以下:
root@vb004 ~]# cd /usr/local/sonarqube-5.1.1/extensions/plugins [root@vb004 plugins]# wget -c http://repo1.maven.org/maven2/org/codehaus/sonar-plugins/l10n/sonar-l10n-zh-plugin/1.8/sonar-l10n-zh-plugin-1.8.jar
PS:最新版本的語言包是sonar-l10n-zh-plugin-1.8.jar。
這是中文語言包的源碼地址:https://github.com/SonarCommunity/sonar-l10n-zh
若是你們有興趣能夠和老外一塊兒來維護這個源碼,若是想體驗最新的源碼直接下載下來,打包成jar就能夠啦
================
Sonar是一個很是不錯的代碼分析工具。可是網上不少教程講的都是Jenkins+Sonar的配置。若是按照網上的教程去作,你會崩潰死的.爲何?緣由以下:
1.網上不少教程的Jenkins+Sonar是基於對Java源代碼進行分析的。因此,若是作php代碼分析,有一個很是重要的步驟是裝php插件。而若是將Jenkins+Sonar合在一塊兒配置,坑不少,填到你崩潰爲止;
2.Jenkins是一款自動化構建的工具,若是是第一次用,坑也很是多。
拋開Jenkins不談,直接用Sonnar就能夠對源代碼進行質量分析。因此,你須要在Centos下先把Sonnar跑通,讓它能在命令行下分析源代碼。肯定這一步沒有問題啦,再跟Jenkins作持續集成。
我就是一開始Jenkins+Sonar一塊兒配置,忙了半天,仍是配置很差。不是這出問題,就是那裏出問題。
PS:按照本教程配置,必定可以成功的,不成功能夠在博客下方留言,我幫你解決。
================
SonarQube能夠分析當下最經常使用、流行的語言。如:Ruby,Python,Php,Css,Javascript,Java,Go,Web,C#。支持20多種語言。SonarQube安裝成功後默認只能分析Java,若是想讓它分析其餘語言須要安裝插件。
支持分析編程語言插件地址:
http://docs.sonarqube.org/display/PLUG/Plugin+Library
若是你是作Web開發的,能夠選擇安裝Php,Css,Javascript,Web這四款就行啦。直接進入到SonarQube的Plugin目錄下載,成功後重啓SonarQube便可。
例如:安裝Php分析插件
[root@vb004 ~]# cd /usr/local/sonarqube-5.1.1/extensions/plugins [root@vb004 plugins]# wget -c http://downloads.sonarsource.com/plugins/org/codehaus/sonar-plugins/php/sonar-php-plugin/2.6/sonar-php-plugin-2.6.jar
================
http://blog.csdn.net/hunterno4/article/details/11687269
http://wenku.baidu.com/view/a5c2a3357375a417876f8f09.html
http://my.oschina.net/zj0303/blog/301474
http://www.cnblogs.com/gao241/p/3190701.html