把质量控制工作往前推进(1)——安装sonarqube
曾经关注点一直在怎么提高应用程序的质量,没太在意代码级别的质量。近期由于某些因素的推动,须要关注到代码级别的质量去,把质量工作尽量往前推,也符合质量控制的原则。 试用了一下sonarqube(老版本号的叫sonar,ww.sonarqube.org),对代码的提升的确有非常多的作用,sonarqube能从7个维度来对代码质量进行度量。多大的作用,大家实践下就非常easy看出来。尤其是建议大家把rules里面的说明和样例都好好看看,对以后自己写代码的时候,质量提高有非常大优点。
Sonarqube安装:
Sonarqube一共分3 部分:
下面安装步骤是Linux下的安装演示样例
数据库:
这里我用的是mysql数据库,直接运行SQL:
CREATEDATABASEsonarCHARACTERSETutf8COLLATEutf8_general_ci;
赋予后面连接sonarqube的数据库用户读写权限就可以
web服务: 改动sonarqube/conf/sonar.properties
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
sonar.jdbc.username=mysql_username
sonar.jdbc.password=mysql_password # Comment the following line to deactivate the default embedded database.
#sonar.jdbc.url=jdbc:h2:tcp://localhost:9092/sonar #----- MySQL 5.x
# Comment the embedded database and uncomment the following line to use MySQL
sonar.jdbc.url=jdbc:mysql://192.168.22.99:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=t sonar.web.host=0.0.0.0
sonar.web.context=/sonarqube sonar.web.port=9001
sonarqube自带webserver,性能也足够好,不须要配置tomcat什么的,到这里整个sonar web服务配置完毕了,到sonarqube/bin/linux-x86-64文件夹下,启动./sonar.sh start就可以,启动后有不论什么问题能够查看log: sonarqube/logs/sonar.log, 通过浏览器訪问http://192.168.22.99:9001/sonarqube, 打开登陆页面,默认管理员账户是admin/admin
分析器:
Sonarqube通过插件 支持20+种语言, Java, python, C#, C/C++, PL/SQL, Cobol等, 但C语言的插件是收费的。到这里http://docs.codehaus.org/display/SONAR/Plugin+Library 下载相应语言的插件,放置到sonarqube/extensions/plugins文件夹下,重新启动web服务就可以。
分析器主要5种:
SonarQube Runner(万能,支持后面几种方式的project),
Maven(和maven编译project集成),
SonarQube Ant Task(和ant编译project集成),
Gradle(和Gradle编译工具集成,非常少听过),
CI Engine(主要和Jenkins , Hudson等CI工具集成)。
下面主要讲Sonarqube runner分析器的使用:
下载Sonarqube 分析器:http://docs.codehaus.org/display/SONAR/Installing+and+Configuring+SonarQube+Runner, 解压后改动conf文件夹下的sonar-runner.properties,
例如以下样例。
#----- Default SonarQube server
sonar.host.url=http://192.168.23.94:9001/sonarqube #----- PostgreSQL
#sonar.jdbc.url=jdbc:postgresql://localhost/sonar #----- MySQL
sonar.jdbc.url=jdbc:mysql://192.168.23.99:3306/sonarqube_qa?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 #----- Global database settings
sonar.jdbc.username=mysql_username
sonar.jdbc.password=mysql_password #----- Default source code encoding
sonar.sourceEncoding=UTF-8 #----- Security (when 'sonar.forceAuthentication' is set to 'true')
sonar.login=admin
sonar.password=admin
把sonarruner/bin增加到path文件夹下,在环境变量里面加上SONAR_RUNNER_HOME="/home//sonarruner"。
到这里整个Sonarqube的执行环境就所有配置完毕了,下一篇解说怎么执行分析器。
把质量控制工作往前推进(1)——安装sonarqube的更多相关文章
- Linux安装sonarQube
安装sonarQube之前,需要先安装JDK和mysql 服务器/home/azrlnx04/下创建三个文件夹,/java ./mysql. /sonar 一:安装JDK (1)打开http://ww ...
- CentOS7 安装 SonarQube
安装 SonarQube 环境 系统 CentOS 7 数据库 postgresql 10 系统配置 查看系统配置 sysctl vm.max_map_count sysctl fs.file-max ...
- centos 8 安装 SonarQube遇到的启动问题及解决方案
查看当前centos操作系统的版本 cat /etc/redhat-release 执行结果: 第一步安装openjdk,版本可以根据自己安装sonarqube的版本而定: 安装过程可参见我的另一篇博 ...
- docker 安装 sonarQube
sonarQube 是一款开源代码检测工具.本篇介绍通过 docker 来安装.大概的一个运作流程是这样的,先通过 sonar-scanner 插件扫描代码,把数据存储到数据库,sonarQube 读 ...
- 安装Sonarqube到CentOS(YUM)
SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量. 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groo ...
- SonarQube学习(一)- 使用Docker安装SonarQube(亲测可用)
一.前言 不得不吐槽下,现在的博客写的真太扯淡了,就网上写的使用docker安装SonarQube而言,搜到十篇文章,最少9篇照着操作配置都不可用,卡在SonarQube无法启动.自然,我也是被折磨的 ...
- 开发前准备 va2015安装
1.下载vs2015 2.进行安装(同时安装node.js.npm与Android SDK,会省很多时间) 安装的时候要选择自定义安装 如果先安装了Android SDK的话就不要勾选了,我就是勾选了 ...
- Linux oracle 11g r2 安装前检查及安装
Linux环境配置 [c-sharp] view plaincopy OS:Fedora 15 DB:Oracle 11gR2 将Oracle安装到home/oracle_11目录 配置过程:本文来自 ...
- Linux工作环境:CentOS7最小安装+Xfce桌面环境
ref: https://blog.csdn.net/smstong/article/details/44802989 3.1 执行CentOS7 最小安装去官网下载CentOS-7.0-1406-x ...
随机推荐
- 三、第一个cocos2d程序的代码分析
http://blog.csdn.net/q199109106q/article/details/8591706 在第一讲中已经新建了第一个cocos2d程序,运行效果如下: 在这讲中我们来分析下里面 ...
- IOS-NSDate之今天,昨天,这周,这个月,上个月
http://blog.csdn.net/xdrt81y/article/details/8425727 今天跟大家讨论日期的用法,相信大家在项目中,经常会设置一个默认时间段,比如一周前到今天.下面教 ...
- 5.DataFrame(基本概念)
- windows 2012(64位) IIS配置asp程序 500 - 内部服务器错误。您查找的资源存在问题,因而无法显示。
在网上找了很久,包括常规的设置父路径之类的,一直都不可以,搞了一晚上毫无成就感,第二天早上无意中看到一篇文章,说到点子上了,非常感谢.源地址已经找不到了,我把大概的问题截图说明一下. 方法如下:1.打 ...
- QueryDict对象
所在的包: django.http.QueryDict HttpRequest 对象中的 GET 和 POST 属性 都是 QueryDict类型 与python字典不同:QueryDict对象一个键 ...
- 在C#中调用格式工厂进行任意视频格式到FLV的转换
1.下载安装格式工厂和完美解码器 2.运行格式工厂,转换一个RMVB到FLV,注意找个大点的,使时间长一些.防止在未执行步骤3时就结束了 3.在进程中查看某个进程的命令行参数是什么? wmic pro ...
- 转化一个数字数组为function数组(每个function都弹出相应的数字)
从汤姆大叔的博客里看到了6个基础题目:本篇是第2题 - 转化一个数字数组为function数组(每个function都弹出相应的数字) 此题关键点: 1.如何将一个匿名函数存入数组? 2.如何锁住需要 ...
- Netty源码学习(五)ChannelInitializer
0. ChannelInitializer简介 直接用ChannelInitializer的注释吧:A special ChannelInboundHandler which offers an ea ...
- 学习sphinx
在我们php开发中如何使用sphinx技术? 答:对应MySQL数据库中的字段,就是将字段中的中文信息拆分成多个词语,然后对这些词语建立索引.以后查询的时候,先去查询这些索引文件,然后返回这些满足条件 ...
- [BZOJ1194][HNOI2006][强连通分量Tarjan+dfs]潘多拉的盒子
[BZOJ1194][HNOI2006]潘多拉的盒子 Input 第一行是一个正整数S,表示宝盒上咒语机的个数,(1≤S≤50).文件以下分为S块,每一块描述一个咒语机,按照咒语机0,咒语机1„„咒语 ...