1、sonar安装:

  sonar有三部分组成:

  1、服务端:显示分析结果和sonar相关配置

  2、客户端:对项目运行源代码进行运算和分析

  3、数据库:存储sonar配置和代码分析结果的数据库

2、sonar下载:

  官网地址:https://www.sonarqube.org/

  下载你中意版本的zip包,放在想要安装的目录,linux系统一般放在/usr/local/.

  ok,先来试一下吧!

  进入sonar/bin目录下,进入对应的系统目录,启动sonar,

  

  

  等出现以下页面:

  

  打开浏览器,输入URL:localhost:9000

  

3、数据库配置

  大部分资料都推荐使用MySQL,因为MySQL使用最简单,这里我用的也是MySQL

  MySQL数据库安装这里不再介绍,我们直接从使用root登录后开始,

  执行以下命令:

  CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

  CREATE USER 'sonar' IDENTIFIED BY 'sonar';
  GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
  GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
  FLUSH PRIVILEGES;

4、sonar配置:

  打开sonar/conf目录下的sonar.properties,加入以下配置项:

  ##数据库配置

  sonar.jdbc.username=sonar

  sonar.jdbc.password=sonar

  sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

  ## 下面设定访问网址为 http://localhost:9000

  sonar.web.host=0.0.0.0

  sonar.web.port=9000

  sonar.web.context=

5、插件安装

  打开sonar/bin,进入相对应系统的文件夹下,重启服务:StartSonar.bat

  由于要进行数据库初始化,所以这次会有点慢。(如果不成功,请查看数据库是否成功创建并具有相应的权限)

  sonar预设的管理员帐号为:admin/admin,登录后可在Administration / System / Update Center / Available Plugins找到需要的插件进行安装:

  - Git: 已自带安装; 
  - SVN: 已自带安装; 
  - Java: 已自带安装,Java 源代码解析,计算指标等; 
  - JavaScript: 已自带安装;

  我安装了以下这些插件:
  - Chinese Pack:SonarQube 页面汉化; 
  - Findbugs 
  - Checkstyle 
  - PMD

6、如果要与Jenkins集成,最好配置“disable the SCM Sensor”为“是”

  

7、生成认证令牌:

  Jenkins访问 SonarQube 时要用到;

  进入:Administration(配置) / Security(权限) / User(用户),找到用户 admin,点击 “Tokens” 一列;

  弹出界面里:输入 TokenName=”Jenkins”, 点击 “Generate”, 生成 “8687b74188c446f2e02ec6eb5ee9d80b88048406”

8、Jenkins上sonar插件的安装:

  1、安装SonarQube插件:

    安装SonarQube Scanner for Jenkins,可能是Jenkins版本不同,插件名称不一致,也有叫:SonarQube Plugin。

  2、Jenkins 会把构建结果通过 URL和认证令牌发送给 SonarQube

  

  3、Jenkins构建设置:

    构建设置 Build 中,指定 Maven goals: “sonar:sonar” 
    项目构建时就会自动上报构建报告给 Sonar

最新文章

  1. SQL Server5个系统数据库
  2. 家长-Parents表增加字段Token,Gender,Email,Portrait
  3. eclipse代码自动补全[转]
  4. 关于IOS时间日历的一些注意事项 NSDateFormatter
  5. ios实现类似魔兽小地图功能 在
  6. 08_XML的解析_SAX解析
  7. hdu2035java
  8. JAVA获取oracle中sequences的最后一个值
  9. C/C++指针知识整理(一)
  10. Myeclipse插件将wsdl生成java客户端代码
  11. k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
  12. Navicat Premium 11破解补丁下载及安装方法
  13. MySQL插件实现浅析——插件的调用
  14. 使用Docker镜像和仓库
  15. Mysql之SQL经验基础积累
  16. mysql查看每个数据库所占磁盘大小
  17. P5270 无论怎样神树大人都会删库跑路
  18. python os.path.dirname()
  19. struts2的result的类型配置简介
  20. Shell - 简明Shell入门10 - 管道(Pipe)

热门文章

  1. 前端css知识实现自动打字,文字滚动
  2. String类的format方法的用法
  3. Chef and Problems(from Code-Chef FNCS) ( 回 滚 )
  4. 剧终—AFO.
  5. jQuery系列(三):jQuery动画效果
  6. EM算法 小结
  7. Java程序基本结构
  8. codeforces#1159D. The minimal unique substring(打表找规律+构造)
  9. Leetcode题目121.买卖股票的最佳时机(简单)
  10. Golang使用RabbitMQ消息中间件amqp协议