查看: 852|回复: 0

[PHP学习] CentOS6 安装sonarsource并检测java、php项目的代码质量

发表于 2017-9-21 08:00:05
尚学堂AD
CentOS6 安装sonarsource

sonarqube下载地址: https://sonarsource.bintray.c...

  1. wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.5.zip -P /usr/local/src
复制代码

安装环境准备

  1. CentOS6 + OpenJDK8 + MySQL7
复制代码

安装jdk

  1. sudo yum install java-1.8.0-openjdk -y
复制代码

安装MySQL7

参考安装Mysql: http://blog.csdn.net/wh211212...

创建sonar数据库用于启动sonar

  1. CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
  2. GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'127.0.0.1' IDENTIFIED BY '@Aniusonar..0';
  3. FLUSH PRIVILEGES
复制代码

解压sonar到/opt

  1. sudo yum install unzip -y
  2. cd /usr/local/src
  3. unzip sonarqube-6.5.zip -d /opt/
  4. cd /opt && mv sonarqube-6.5 sonarqube
复制代码

更改sonar启动的jvm参数,避免启动报错

  1. cd /opt/sonarqube/conf/
  2. # 编辑sonar.properties
  3. sonar.web.javaOpts=-Xmx4G -Xms2G -XX:MaxMetaspaceSize=256M -XX:+HeapDumpOnOutOfMemoryError
  4. # 编辑wrapper.conf
  5. wrapper.java.initmemory=64
  6. wrapper.java.maxmemory=128
复制代码

启动sonar

  1. cd /opt/sonarqube/bin/linux-x86-64/
  2. ./sonar.sh start
  3. ./sonar.sh stop
复制代码

配置nginx反向代理sonar

  1. server {
  2. listen 80;
  3. server_name sonar.aniu.so; # 自定义
  4. access_log /var/log/nginx/sonar.aniu.so.access.log main;
  5. error_log /var/log/nginx/error/sonar.aniu.so.error.log;
  6. location / {
  7. root /opt/sonarqube;
  8. index index.html index.htm index.php;
  9. }
  10. error_page 404 /404.html;
  11. error_page 500 502 503 504 /50x.html;
  12. location = /50x.html {
  13. root /usr/share/nginx/html;
  14. }
  15. location ~ {
  16. proxy_pass http://0.0.0.0:9009;
  17. }
  18. }
复制代码

浏览器访问http://sonar.aniu.so/如下:

默认登录: 用户名 admin 密码 admin

配置为自启动服务

创建自启动脚本文件/etc/init.d/sonar

  1. vi /etc/init.d/sonar
  2. #
  3. #!/bin/sh
  4. #
  5. # rc file for SonarQube
  6. #
  7. # chkconfig: 345 96 10
  8. # description: SonarQube system (www.sonarsource.org)
  9. #
  10. ### BEGIN INIT INFO
  11. # Provides: sonar
  12. # Required-Start: $network
  13. # Required-Stop: $network
  14. # Default-Start: 3 4 5
  15. # Default-Stop: 0 1 2 6
  16. # Short-Description: SonarQube system (www.sonarsource.org)
  17. # Description: SonarQube system (www.sonarsource.org)
  18. ### END INIT INFO
  19. /usr/bin/sonar $*
复制代码

添加启动服务

  1. # ln -s /opt/sonaruube/bin/linux-x86-64/sonar.sh /usr/bin/sonar
  2. # chmod 755 /etc/init.d/sonar
  3. # chkconfig --add sonar
复制代码
测试java项目代码质量
  1. # 启动到项目目录下
  2. cd /var/lib/jenkins/workspace/gameoflife
  3. # 执行下面命令
  4. mvn clean verify sonar:sonar
复制代码

登录到sonar平台查看项目代码质量情况

检测php项目的代码质量

添加sonar-project.properties配置文件,内容如下:

  1. sonar.host.url=http://sonar.aniu.so
  2. sonar.projectKey=org.codehaus.sonar:pc-dzcj
  3. sonar.projectName=pc-dzcj test
  4. sonar.projectVersion=1.0
  5. # 这里是php文件放的地方
  6. sonar.sources=/var/lib/jenkins/workspace/pc-dzcj/myweb
  7. # Language
  8. sonar.language=php
  9. sonar.dynamicAnalysis=false
  10. # Encoding of the source files
  11. sonar.sourceEncoding=UTF-8
复制代码

然后执行命令: sonar-scanner

登录sonar平台查看代码质量



回复

使用道具 举报