安裝環境:javascript
本地mac機器(不一樣操做系統其實影響不大,參考官網)
html
預裝環境:java
jdk1.8
mysql
關係型數據庫(本人用mysql5.6)
git
安裝配置步驟:
github
一、下載安裝sonarqube 以及 sonar-runnerweb
下載地址:http://www.sonarqube.org/downloads/(官網地址) sql
注:sonar-runner是sonarqube分析源代碼的命令行工具
shell
將下載的sonarqube-5.1.2.zip和sonar-runner-dist-2.4.zip解壓到自定義目錄(我在本機解壓到了/work/local)數據庫
二、配置環境變量
添加SONAR_HOME、SONAR_RUNNER_HOME環境變量,並將SONAR_RUNNER_HOME加入PATH,代碼以下:
export SONAR_HOME=/work/soft/sonarqube-5.1.2 export SONAR_RUNNER_HOME=/work/soft/sonar-runner-2.4 export PATH=${PATH}:${SONAR_RUNNER_HOME}/bin
這樣就將sonarqube環境變量配置完成了。退出命令行,在打開,輸入echo $SONAR_HOME,檢驗是否會有路徑輸出。
三、建立數據庫
以管理員身份登錄相應的mysql數據庫,執行以下sql:
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar'; mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar'; mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar'; mysql> FLUSH PRIVILEGES;
四、配置sonar和sonar-runner
修改$SONAR_HOME/conf/sonar.properties,添加剛剛建立的數據庫鏈接信息,具體以下:
sonar.jdbc.username: sonar sonar.jdbc.password: sonar sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true # Optional properties sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
一樣,修改$SONAR_RUNNER_HOME/conf/sonar-runner.properties,添加剛剛建立的數據庫鏈接信息,具體以下:
sonar.jdbc.username: sonar sonar.jdbc.password: sonar sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true # Optional properties sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
五、啓動
至此,sonar服務器的配置就結束了;接下來就是啓動sonar。
進入到$SONAR_HOME/bin/${相應操做系統對應文件夾}下,啓動服務便可
#./sonar.sh start 啓動服務 #./sonar.sh stop 中止服務 #./sonar.sh restart 重啓服務
啓動完成後訪問地址:http://localhost:9000/ 若是出來了sonar首頁,表示安裝成功。
六、安裝中文插件(可選)
若是想要顯示中文,在官網的插件列表中找到中文插件(http://docs.sonarqube.org/display/PLUG/Plugin+Library)
在上面連接找到中文插件發現連接到了github的託管項目(https://github.com/SonarCommunity/sonar-l10n-zh)
下載下來這個託管項目,使用maven打成一個jar包。
而後將其放到$SONAR_HOME/extensions/plugins下
重啓sonar服務器,便可發現變成中文了。
七、使用sonar分析普通java工程(假設工程名爲:a)
在工程根目錄建立文件sonar-project.properties
添加相似以下內容:
#required metadata #projectKey項目的惟一標識,不能重複 sonar.projectKey=xjglxt sonar.projectName=xjglxt sonar.projectVersion=1.0 sonar.sourceEncoding=UTF-8 sonar.modules=java-module # Java module java-module.sonar.projectName=Java Module java-module.sonar.language=java # .表示projectBaseDir指定的目錄 java-module.sonar.sources=. java-module.sonar.projectBaseDir=src #sonar.binaries=classes # JavaScript module #javascript-module.sonar.projectName=JavaScript Module #javascript-module.sonar.language=js #javascript-module.sonar.sources=js #javascript-module.sonar.projectBaseDir=webRoot # Html module #html-module.sonar.projectName=Html Module #html-module.sonar.language=web #html-module.sonar.sources=pages #html-module.sonar.projectBaseDir=webRoot
配置內容基本見名便可知意,就再也不贅述了。
接着經過命令行進入項目根目錄下,執行:
sonar-runner
耐心等待分析結束
返回http://localhost:9000/ 便可看到關於這個項目的分析結果
八、若是是maven工程
在maven的配置文件$M2_HOME/conf/settings.xml中,找到profiles節點,在其中添加以下配置:
<profile> <id>sonar1</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8</sonar.jdbc.url> <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver> <sonar.jdbc.username>sonar</sonar.jdbc.username> <sonar.jdbc.password>sonar</sonar.jdbc.password> <sonar.host.url>http://localhost:9000</sonar.host.url> </properties> </profile>
接着進入到項目根目錄,執行以下命令:
mvn sonar:sonar
便可。
以上僅僅是本人的實踐步驟,若有錯誤,歡迎指正。