转载来自:https://testerhome.com/topics/8113
背景介绍
SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码风格问题,缺乏单元测试等问题, 并通过一个web ui展示出来。
1. 用户本地使用IDE的插件进行代码分析
2. 用户上传到源代码版本控制服务器
3. 持续集成,使用Sonar Scanner进行扫描
4. 将扫描结果上传到SonarQube服务器
5. SonarQube server将结果写入db
6. 用户通过web ui查看扫描结果
7. SonarQube导出结果到其他需要的服务
一、SonarQube的架构
二、SonarQube的安装
1、环境准备
- java环境
- 数据库(支持SQL Server、Mysql、Oracle、PostgreSQL)
2、安装过程
(1)mysql创建user并授权(安装sonarqube6.3需要Mysql5.6以上)
> CREATE USER 'sonar’@'%' IDENTIFIED BY 'password';
> GRANT all privileges ON sonarqube.* TO sonar’@‘%' IDENTIFIED BY 'password';
> flush privileges;
> create database sonarqube;
(2)SonarQube Server搭建
下载地址
sonarqube服务中配置修改:/conf/sonar.properties
sonar.web.host=0.0.0.0
sonar.web.port=9000
sonar.jdbc.username=sonar
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服务时加上统一的前缀则配置此项
启动服务:sonarqube-6.3/bin/linux-x86-64
./sonar.sh start
stop服务
./sonar.sh stop
(3)SonarQube Scanner服务
下载地址
sonar-scanner中配置修改:conf/sonar-scanner.properties
sonar.host.url=http://your_host:your_port/[your_prefix]
添加环境变量
export PATH=$PATH:/usr/local/sonar-scanner-2.9.0.670/bin
查看服务是否Ok
sonar-scanner -h
文档:click here
(4)在Project中使用
将sonar-project.properties 放入需要扫描的project中
#sonar-project.properties内容如下
sonar.projectKey=project_key
sonar.projectName=project_name
sonar.projectVersion=1.0
sonar.sources=./
sonar.language=py //需要扫描哪种语言的代码,如python:py,java:java
sonar.sourceEncoding=UTF-8
sonar.host.url=http://your_host:your_port/[your_prefix]
启动分析
sonar-scanner -X
上述是sonarqube的一些基本介绍与安装过程,下期继续分享一些实用的plugin~