python代码分析 官网主页:

http://docs.sonarqube.org/display/PLUG/Python+Plugin

Windows下安装使用:

快速使用:

1.下载jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2.下载解压sonar:http://www.sonarqube.org/downloads/

下载解压sonar scanner:http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

3. 启动sonar,运行sonarqube-5.6.3\bin\windows-x86-64\StartSonar.bat

4. 进入目录sonar-examples-master\projects\languages\java\sonar-runner\java-sonar-runner-simple, 运行sonar-scanner-2.8\bin\sonar-scanner.bat, 跑了一个实例了(如果不能正常运行,检查jdk)

5.可在这查看运行结果: http://localhost:9000 (首次登陆账号密码:admin)

6.设置中文:登陆后 Administration -> System -> Update Center -> Available -> 搜索( Chinese 插件) -> 安装后提示重启,生效

进阶:

1、安装MySQL,配置sonar数据库;

mysql -u root -p

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;

2、 修改配置文件 /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

sonar.login=admin

sonar.password=admin

3、修改配置文件sonar-scanner.properties:

#Configure here general information about the environment, such as SonarQube DB details for example

#No information about specific project should appear here

#----- Default SonarQube server

sonar.host.url=http://localhost:9000

#----- Default source code encoding

sonar.sourceEncoding=UTF-8

#----- Global database settings (not used for SonarQube 5.2+)

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

#----- PostgreSQL

#sonar.jdbc.url=jdbc:postgresql://localhost/sonar

#----- MySQL

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8

#----- Oracle

#sonar.jdbc.url=jdbc:oracle:thin:@localhost/XE

#----- Microsoft SQLServer

#sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor

#----- Security (when 'sonar.forceAuthentication' is set to 'true')

sonar.login=admin

sonar.password=admin

4、运行setup更新一下, http://localhost:9000/setup

5、检测代码:

  1. 因为sonar服务器默认没安装python检测插件,此处用python代码做例子下载插件:主页->配置->系统->更新中心->Available->搜索Python插件,安装后按提示重启sonar
  2. 进入需要检测的项目根目录下,新建配置文件sonar-project.properties (这里是检测python代码):

# Required metadata

sonar.projectKey=org.sonarqube:python-simple-sonar-scanner

sonar.projectName=Python :: Simple Project : SonarQube Scanner

sonar.projectVersion=1.0

# Comma-separated paths to directories with sources (required)

sonar.sources=src

Language

sonar.language=py

# Encoding of the source files

sonar.sourceEncoding=UTF-8

  1. 增加 C:\sonar-scanner-2.8\bin 为全局环境变量
  2. 进入项目 根目录,运行 sonar-runner
  3. 分析成功:

http://localhost:9000/overview?id=org.sonarqube%3Apython-simple-sonar-scanner 查看

扩展:

  1. 自定义规则:

http://docs.sonarqube.org/display/DEV/Adding+Coding+Rules+using+XPath

    1. Login as an Quality Profile Administrator
    2. Go to Rules page
    3. Select the Language for which you want to create the XPath rule
    4. Tick the Template criterion and select "Show Templates Only"
    5. Look for the XPath rule template:
       
    6. Click on it to create a new instance of XPath rule: 
    7. Feed the form:
    8. Paste in the XPath query (it should comply to XPath 1.0) you wrote and tested using the SSLR toolkit:
    9. Once your rule is added to SonarQube, activate it in a Quality Profile and run an analysis.

SonarQube-5.6.3 代码分析平台搭建使用的更多相关文章

  1. GitHub代码托管平台搭建

    GitHub代码托管平台搭建 注册账户以及创建仓库 要想使用github第一步当然是注册github账号了, github官网地址:https://github.com/. 之后就可以创建仓库了(免费 ...

  2. ELK日志分析平台搭建

    ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自:http://baidu.blog.51cto.com/71938/1676798 日志主要包括系统日志.应 ...

  3. Storm on Yarn :原理分析+平台搭建

    Storm on YARN: Storm on YARN被视为大规模Web应用与传统企业应用之间的桥梁.它将Storm事件处理平台与YARN(Yet Another Resource Negotiat ...

  4. ElasticSearch+Logstash+Filebeat+Kibana集群日志管理分析平台搭建

    一.ELK搜索引擎原理介绍 在使用搜索引擎是你可能会觉得很简单方便,只需要在搜索栏输入想要的关键字就能显示出想要的结果.但在这简单的操作背后是搜索引擎复杂的逻辑和许多组件协同工作的结果. 搜索引擎的组 ...

  5. sonarqube使用maven进行代码分析

    修改setting.xml文件,增加并激活profile <profile> <id>sonar</id> <properties> <sonar ...

  6. win7搭建本地SonarQube环境进行c#代码分析

    1.SonarQube需要正常运行,首先需要安装Java环境,我这里安装的是jdk-8u181版本,可以在下面网站找适的版本去下载安装 https://www.oracle.com/technetwo ...

  7. ELKF-分布式日志收集分析平台搭建 最小化 配置过程 - 查看收集日志(windows10下搭建)

    前言 Elasticsearch是与名为Logstash的数据收集和日志解析引擎以及名为Kibana的分析和可视化平台一起开发的.这三个产品被设计成一个集成解决方案,称为“Elastic Stack” ...

  8. ELK日志分析平台搭建全过程

    一.使用背景 当生产环境有很多服务器.很多业务模块的日志需要每时每刻查看时 二.环境 系统:centos 6.5 JDK:1.8 Elasticsearch-5.0.0 Logstash-5.0.0 ...

  9. 搭建基于SornaQube的自动化安全代码检测平台

    一.背景和目的 近年来,随着新业务.新技术的快速发展,应用软件安全缺陷层出不穷.虽然一般情况下,开发者基本都会有单元测试.每日构建.功能测试等环节来保证应用的可用性.但在安全缺陷方面,缺乏安全意识.技 ...

随机推荐

  1. 【VB6】使用VB6创建和访问Dom树【爬虫基础知识 】

    使用VB6创建和访问Dom树 关键字:VB,DOM,HTML,爬虫,IHTMLDocument 我们知道,在VB中一般大家会用WebBrowser来获取和操作dom对象. 但是,有这样一种情形,却让我 ...

  2. Delphi DateUtils时间单元

    Uses DateUtils //时间单元,非常有用. 记得引用这个单元,不然不能用. CompareDate 比较两个日期时间值日期部分的大小 CompareDateTime 比较两个日期时间值的大 ...

  3. 初学android之简易的网易页面

    WangYiActivity.java: public class WangYiActivity extends Activity implements OnClickListener{ public ...

  4. Junit3断言

    在Robotium自动化测试的过程中,发现没有断言的脚本是没有意义的,现整理Junit3和Junit4的断言,供日后查阅. http://junit.org/ Junit3断言API: http:// ...

  5. 【Python】pip国内安装源

    豆瓣安装源 pip install packages -i http://pypi.doubanio.com/simple --upgrade --trusted-host pypi.doubanio ...

  6. CS 231n----Assignment1 记录

    记录下在完成cs231n的Assignment1过程中的一些东西. 1. scores是一个N*C的array,N是训练样本个数,C是标签.y是(N,)的数组,取出每一个样本对应的score,可以用以 ...

  7. MySQL临时表创建

    和SQL SERVER 创建临时表不同 不能直接写 Create table #Test_Table 而是需要在 Create 和 table 之间 加入 TEMPORARY(temporary< ...

  8. 创建Unicode格式的INI文件

    前段时间由于开发一个软件,需要调用别人的接口,虽然我的软件是Unicode编码,对方的模块也是Unicode编码,但是对方提供的接口却是Ansi接口,在非中文系统下,由于涉及到中文路径,导致Ansi和 ...

  9. 《CoffeeScript应用开发》学习: CoffeeScript高级用法

    正确的上下文 使用胖箭头=>表示将回调函数绑定到this对象. class t func: (callback)-> if callback? setTimeout callback(), ...

  10. ADOConnectoin事务和存储过程中的Begin tran commit

    一直以来我都是在存储过程中使用事务 create proc usp_proc begin begin  tran ..... commit end 那么我现在问一个问题,如果在BCB的代码中写这样的代 ...