51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2530|回复: 3

sonar-关于安装配置

[复制链接]

该用户从未签到

发表于 2019-3-15 11:50:58 | 显示全部楼层 |阅读模式

安装环境:

    本地mac机器(不同操作系统其实影响不大,参考官网)

预装环境:

    jdk1.8

    关系型数据库(本人用mysql5.6)

安装配置步骤:

1、下载安装sonarqube 以及 sonar-runner

    下载地址:http://www.sonarqube.org/downloads/(官网地址)

    注:sonar-runner是sonarqube分析源代码的命令行工具

    将下载的sonarqube-5.1.2.zip和sonar-runner-dist-2.4.zip解压到自定义目录(我在本机解压到了/work/local)

2、配置环境变量

    添加SONAR_HOME、SONAR_RUNNER_HOME环境变量,并将SONAR_RUNNER_HOME加入PATH,代码如下:

  1. export SONAR_HOME=/work/soft/sonarqube-5.1.2
  2. export SONAR_RUNNER_HOME=/work/soft/sonar-runner-2.4
  3. export PATH=${PATH}:${SONAR_RUNNER_HOME}/bin
复制代码

这样就将sonarqube环境变量配置完成了。退出命令行,在打开,输入echo $SONAR_HOME,检验是否会有路径输出。

3、创建数据库

    以管理员身份登陆相应的mysql数据库,执行如下sql:

  1. mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
  2. mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
  3. mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
  4. mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
  5. mysql> FLUSH PRIVILEGES;
复制代码

4、配置sonar和sonar-runner

    修改$SONAR_HOME/conf/sonar.properties,添加刚刚创建的数据库连接信息,具体如下:

  1. sonar.jdbc.username:                       sonar
  2. sonar.jdbc.password:                       sonar
  3. sonar.jdbc.url:                            jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

  4. # Optional properties
  5. sonar.jdbc.driverClassName:                com.mysql.jdbc.Driver
复制代码

同样,修改$SONAR_RUNNER_HOME/conf/sonar-runner.properties,添加刚刚创建的数据库连接信息,具体如下:

  1. sonar.jdbc.username:                       sonar
  2. sonar.jdbc.password:                       sonar
  3. sonar.jdbc.url:                            jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

  4. # Optional properties
  5. sonar.jdbc.driverClassName:                com.mysql.jdbc.Driver
复制代码

5、启动

    至此,sonar服务器的配置就结束了;接下来就是启动sonar。

    进入到$SONAR_HOME/bin/${相应操作系统对应文件夹}下,启动服务即可

  1. #./sonar.sh start   启动服务
  2. #./sonar.sh stop    停止服务
  3. #./sonar.sh restart 重启服务
复制代码

6、安装中文插件(可选)

    如果想要显示中文,在官网的插件列表中找到中文插件(http://docs.sonarqube.org/display/PLUG/Plugin+Library)

    在上面链接找到中文插件发现链接到了github的托管项目(https://github.com/SonarCommunity/sonar-l10n-zh)

    下载下来这个托管项目,使用maven打成一个jar包。

    然后将其放到$SONAR_HOME/extensions/plugins下

    重启sonar服务器,即可发现变成中文了。

7、使用sonar分析普通java工程(假设工程名为:a)

    在工程根目录创建文件sonar-project.properties

    添加类似如下内容:

  1. #required metadata
  2. #projectKey项目的唯一标识,不能重复
  3. sonar.projectKey=xjglxt
  4. sonar.projectName=xjglxt
  5. sonar.projectVersion=1.0
  6. sonar.sourceEncoding=UTF-8
  7. sonar.modules=java-module

  8. # Java module
  9. java-module.sonar.projectName=Java Module
  10. java-module.sonar.language=java
  11. # .表示projectBaseDir指定的目录
  12. java-module.sonar.sources=.
  13. java-module.sonar.projectBaseDir=src
  14. #sonar.binaries=classes

  15. # JavaScript module
  16. #javascript-module.sonar.projectName=JavaScript Module
  17. #javascript-module.sonar.language=js
  18. #javascript-module.sonar.sources=js
  19. #javascript-module.sonar.projectBaseDir=webRoot

  20. # Html module
  21. #html-module.sonar.projectName=Html Module
  22. #html-module.sonar.language=web
  23. #html-module.sonar.sources=pages
  24. #html-module.sonar.projectBaseDir=webRoot
复制代码

配置内容基本见名即可知意,就不再赘述了。

    接着通过命令行进入项目根目录下,执行:

  1. sonar-runner
复制代码

耐心等待分析结束

    返回http://localhost:9000/  即可看到关于这个项目的分析结果

8、如果是maven工程

    在maven的配置文件$M2_HOME/conf/settings.xml中,找到profiles节点,在其中添加如下配置:

  1. <profile>
  2.       <id>sonar1</id>
  3.       <activation>
  4.         <activeByDefault>true</activeByDefault>
  5.       </activation>
  6.       <properties>
  7.         <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8</sonar.jdbc.url>
  8.         <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
  9.         <sonar.jdbc.username>sonar</sonar.jdbc.username>
  10.         <sonar.jdbc.password>sonar</sonar.jdbc.password>
  11.         <sonar.host.url>http://localhost:9000</sonar.host.url>
  12.       </properties>
  13.     </profile>
复制代码

接着进入到项目根目录,执行如下命令:

  1. mvn sonar:sonar
复制代码



回复

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    发表于 2019-3-17 12:59:33 | 显示全部楼层
    sonar 配置复杂的点应该在规则上面
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2021-2-26 10:11:29 | 显示全部楼层
    我配置了个外部的自解析的json文件,但是sonar表示:External issues ignored for 1 unknown files, including: **.haha       后面这个是我配置的filepath的文件名,貌似就是解析不了?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-19 09:32 , Processed in 0.070564 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表