1) 下載
從sonar官網http://www.sonarsource.org/下載到最新的2.1.2版本。大概50M。
2) 安裝
1. 安裝要求
在server端,sonar要求jdk 5.0和maven,這個通常可以滿足。
然后是數據庫支持,默認使用Derby 內嵌數據庫,這個肯定不合適了,準備修改為mysql。
客戶端就簡單了,基本現有的主流瀏覽器都支持,BS架構就是方便。
解壓縮下載好的包到安裝路徑。
2. 配置mysql
先準備好mysql,在mysql中新建名為sonar的database,encoding選擇為UTF-8,然后新建名為sonar密碼也是sonar的用戶,設置好對sonar database的權限。
修改sonar配置文件以便使用mysql,打開sonar/conf/sonar.properties文件, 首先找到
#----- Embedded database
# Comment the following lines to deactivate the default embedded database (used only for tests and demos)
sonar.jdbc.url: jdbc:derby://localhost:1527/sonar;create=true
sonar.jdbc.driverClassName: org.apache.derby.jdbc.ClientDriver
sonar.jdbc.validationQuery: values(1)
將這里注釋掉,然后找到mysql的設置,默認是被注釋的,打開即可
#sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
#sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
#sonar.jdbc.validationQuery: select 1
3. 啟動
執行./bin/linux-x86-32/sonar.sh start,啟動sonar。
默認sonar使用9000端口,直接打開瀏覽器訪問http://192.168.0.40:9000/ 即可。默認管理員賬號密碼為: admin/admin。
安裝過程可以說非常簡單,按照官網的說法,兩分鐘搞定,當然是指其他的東西如maven,mysql都齊備的情況下。
3) 使用sonar
安裝完了之后試用一下sonar,找到一個maven的項目,有現成的pom文件。
1. 設置maven
因為sonar是使用maven插件來分析代碼并將分析結果插入數據庫的,因此必須在maven的設置文件中配置好數據庫信息。
打開maven的settings.xml文件,增加sonar的配置如下:
<settings>
<profiles>
<profile>
<id>sonar</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>
</properties>
</profile>
</profiles>
</settings>
為了避免內存不足造成maven出錯,建議修改maven參數,如 export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m" 來設置內存使用。
2. 執行sonar的分析
輸入mvn sonar:sonar,即可完成sonar的分析,接著打開http://192.168.0.40:9000/就可以看到詳細的分析結果。