51Testing软件测试论坛

标题: Jenkins+SonarQubeda搭建代码质量管理平台 [打印本页]

作者: 测试积点老人    时间: 2018-12-4 14:43
标题: Jenkins+SonarQubeda搭建代码质量管理平台
SonarQube简介
  SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。
  通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式,并通过各种不同的分析机制对项目源代码进行分析和扫描,并把分析扫描后的结果上传到sonar的数据库,通过sonar web界面对分析结果进行管理。

SonarQube可以从七个维度检测代码质量:


SonarQube的架构


安装SonarQube
  1.环境准备
  依赖Java环境
  数据库(支持[url=]SQL[/url] Server、Mysql、Oracle、PostgreSQL)
  MySQL下载:https://dev.mysql.com/downloads/mysql/  (安装sonarqube6.3需要Mysql5.6以上)小编使用的是MySQL5.7.22版本

  2.数据库配置
  创建名称为:sonar的数据库(数据库名称可自定义,注意和/conf/sonar.properties配置中一致)

  3.部署SonarQube Server
  SonarQube下载地址:https://www.sonarqube.org/downloads/
  将下载的soar安装包解压,我这里解压在D盘目录下的sonar目录中
  sonarqube服务中配置修改:/conf/sonar.properties
  1.   sonar.web.host=0.0.0.0 sonar.web.port=9000 sonar.jdbc.username=username sonar.jdbc.password=password sonar.jdbc.url=jdbc:mysql://db_host:db_port/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
复制代码

  #sonar.web.context=/your_prefix  //非必须,若需要在访问sonarqube服务时加上统一的前缀则配置此项

  配置说明:
  url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码

启动服务

  D:\sonar\sonarqube-7.1\bin\windows-x86-64,点击SonarStart.bat,页面输入http://localhost:9000/,首次打开会比较慢,因为要初始化数据库信息,默认的登录用户名、密码都为:admin

4.部署SonarQube Scanner
SonarQube Scanner
下载地址:https://docs.sonarqube.org/display/SCAN/Analyzing+Source+Code
将下载的SonarQube Scanner包解压
将解压后的bin目录路径加入到环境变量中

5.使用SonarQube Scanne扫描代码
打开要进行代码分析的项目根目录,新建sonar-project.properties文件
#sonar-project.properties内容如下 sonar.projectKey=project_key sonar.projectName=project_name sonar.projectVersion=1.0 sonar.sources=./
#需要扫描哪种语言的代码,如python:py,java:java sonar.language=py  sonar.sourceEncoding=UTF-8 #sonar.host.url=http://your_host:your_port/[your_prefix]
使用scanner,只需三步,即可完成

6.打开CMD命令行
7.cd进入项目目录
8.输入sonar-scanner命令









欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2