sonar代码检测工具安装文档

一、环境

1、jdk(1.8)

2、mysql数据库(5.7版本)

3、SonarQube服务端:Download | SonarQube

4、sonar-runner客户端

是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误

二、安装环境

1、 linux服务器安装SonarQube:

(1)下载好SonarQube后解压到/usr/local

(2)配置sonar.properties

[root@localhost local]# vim sonarqube-7.3/conf/sonar.properties

#数据库的账号密码,刚才创建的
sonar.jdbc.username=root       
sonar.jdbc.password=root
#连接数据库
sonar.jdbc.url=jdbc:mysql://192.168.10.10:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#驱动程序类名,其实可以不写的
sonar.jdbc.driverClassName=org.gjt.mm.mysql.Driver
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
 
#开启端口
sonar.web.port=9000

注意:SonarQube8以上版本不支持mysql,可以使用oracle:

添加oracle驱动(注:不支持ojdbc14,其实就是1.4,很老的版本了)

 

(3)启动SonarQube (重点,这块最tm坑了)

SonarQube 启动不能用root启动,所以新建一个用户,给sonarqube设置最高权限

[root@localhost ]# useradd esuser
#好像可以不写的
[root@localhost local]# chown -R esuser.esuser sonarqube-7.3  
[root@localhost local]#chmod 777 -R sonarqube-7.3

[root@localhost sonarqube-7.3]# su esuser          切换用户
[esuser@localhost sonarqube-7.3]# ./bin/linux-x86-64/sonar.sh start   启动sonarqube

启动失败问题总结:

1)

 最大虚拟内存值设置过小,无法支持ElasticSearch的运行。

 重启即可

2)

 设置权限即可

[root@localhost local]# chown -R esuser.esuser sonarqube-7.3  
[root@localhost local]#chmod 777 -R sonarqube-7.3

2、linux服务器安装SonarScanner(可以选择是否安装):

(1)下载好SonarScanner后解压到/usr/local

wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
unzip sonar-scanner-cli-3.3.0.1492-linux.zip
mv sonar-scanner-3.3.0.1492-linux  /usr/local/sonar-scanner

(2)配置sonar-runner.properties

sonar.host.url=http://192.168.6.178:8081

(3)配置环境变量

 
[root@localhost local]# vim /etc/profile
export SONAR_RUNNER_HOME=/usr/local/sonar-scanner
export PATH=$PATH:$SONAR_RUNNER_HOME/bin

[root@localhost local]# source /etc/profile

访问:http://192.168.6.178:9000/

3、使用

(1)Chinese Pack 中文汉化

(2)SonarJava java的扫描,如果是php等等下载对应的就好了

img

(3)使用sonarscanner上传

在项目的根目录新建文件sonar-project.properties

#sonarqube服务器地址
sonar.host.url=http://192.168.10.33:8081
#sonarqube用户名
sonar.login=admin
#sonarqube密码
sonar.password=admin
#项目唯一标识(不能出现重复)
sonar.projectKey=demo1
#项目名称
sonar.projectName=demo1
#源代码目录
sonar.sources=src/main
#编译生成的class文件的所在目录
sonar.java.binaries=target
#版本号
sonar.projectVersion=0.0.1-SNAPSHOT
#语言
sonar.language=java
#源代码文件编码
sonar.sourceEncoding=UTF-8

执行linux命令开始扫描

[root@localhost sell]# /usr/local/sonar-scanner/bin/sonar-scanner 

执行widown命令开始扫描

(4)可以不用安装sonarscanner工具,使用mvn命令上传

在maven的conf文件夹中的settings.xml配置文件中添加配置

<profile>
    <id>sonar</id>
        <properties>
            <sonar.jdbc.url>jdbc:mysql://192.168.10.10:3306/sonar</sonar.jdbc.url>
            <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
            <sonar.jdbc.username>root</sonar.jdbc.username>
            <sonar.jdbc.password>root</sonar.jdbc.password>
            <sonar.host.url>http://192.168.10.33:8081</sonar.host.url> <!-- Sonar服务器访问地址 -->
            <!-- 有的版本需要添加sonarqube用户密码-->
            <sonar.login>admin</sonar.login>
            <sonar.password>admin</sonar.password>
        </properties>
    </profile>
  </profiles>
<activeProfiles>
    <activeProfile>sonar</activeProfile>
</activeProfiles>

执行命令即可

这就成功了

猜你喜欢

转载自blog.csdn.net/weixin_41769441/article/details/120283948