第一步: 搭建sonar的测试环境
1. 准备工作
- 操作系统
centOs6.5
- 数据库
mysql5.6
- sonarqube 及sonarqube runner
下载地址: http://www.sonarqube.org/downloads/
版本: sonar 5.0, runner2.4
- sonar汉化包 名称:sonar-l10n-zh-plugin-1.8.jar
- 下载地址: http://docs.codehaus.org/display/SONAR/Chinese+Pack
- 版本: 1.8
- Vmware 8.0
- 安装centOS
- 安装mysql
- 下载: http://download.chinaunix.net/download.php?id=25112&ResourceID=7159
- 安装过程
- 解压mysql压缩包,命令: gzip -d mysql5.1.tar.gz, tar -xvf mysql5.1.tar
- 编写配置文件 makeconfig.sh,内容如下,编写完成执行:chmod +x makeconfig.sh赋予可执行权限
- ./configure –prefix=/usr/local/mysql –with-extra-charsets=all –with-unix-socket-path=/usr/local/mysql/var/mysql.sock –with-named-curses-libs=/lib/libncursesw.so.5
- 运行配置文件 ./makeconfig.sh 等待运行完成
- 预编译 make
- 这里可能会出现变异错误 :
- make[1]: * [my_new.o] 错误 127
- make[1]: Leaving directory `/home/justme/software/mysql-5.1.30/mysys’
- make: * [all-recursive] 错误 1
- 解决办法 yum install gcc-c++
- 改正这个错误之后的操作
- make clean
- ./makeconfig.sh
- 这一步很重要,否则还会出现另一个错误,因为编译配置需要根据重新安装的c++做调整
- make install
- 安装sonarQube
- 解压sonarqube到/usr/local/sonar下面
- 解压sonar_runner_2.4到/usr/local/sonarRunner下面
- 在/etc/profile里面配置sonar_home=/usr/local/soanr/bin
- 在/etc/profile里面配置sonar_runner_home=/usr/local/sonarRunner/bin
- 执行source /etc/profile
- 新建文件 /etc/init.d/sonar,输入如下内容:/usr/bin/sonar $*
- 执行ln -s $SONAR_HOME/bin/linux-x86-32/sonar.sh /usr/bin/sonar
- chmod 755 /etc/init.d/sonar
- chkconfig –add sonar
- 以上三步完成sonar开机启动的设置
- 汉化sonar, 将下载的汉化包移植到/usr/local/sonar/extensions/plugins目录下
- 这里要注意汉化包和sonarqube的版本需要对应
- 启动sonar服务
- cd /usr/local/sonar/bin/linux_x86_32
- ./sonar.sh start
- 测试sonar启动
- 访问: http://localhost:9000
- 进入sonarqube的界面,说明sonar服务启动成功了
- 部署php插件
- 下载: http://docs.codehaus.org/display/SONAR/Plugin+Library/
- 注意下载的版本需要和sonarqube的版本对应
- 将下载的插件mv到sonar/extensions/plugins/ 下面
- 重启sonarqube服务
部署被测项目
- 将被测项目 phpcook 上传到/home/sonartest/project下面
- 在项目根目录创建文件 sonar-project.properties
输入内容:
sonar.projectKey=org.codehaus.sonar:phpcook
sonar.projectName=PHP cook sonar test
sonar.projectVersion=1.0
#这里是php文件放的地方
sonar.sources=src
# Language
sonar.language=php
sonar.dynamicAnalysis=false
# Encoding of the source files
sonar.sourceEncoding=UTF-8执行 sonar runner
- 等待执行结果
- 查看测试结果
- 在sonarqube站点: http://localhost:9000/ 可以看到刚才测试过的项目
- 点击Measures 查看测试结果分析图表issues看详情