Sonar服务器搭建
Sonar服务器搭建
Sonar概述
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。
——摘抄自:http://www.ibm.com/developerworks/cn/java/j-lo-sonar/
安装JDK
为了保证稳定还是选择使用JDK7
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
下载到服务器后,按如下命名执行:
cd /opt
mkdir java
mv ~/jdk-7u71-linux-x64.tar.gz /opt/java
cd /opt/java
tar zxvf jdk-7u71-linux-x64.tar.gz
ln -s jdk1..0_71/ jdk #做软链,方便之后升级
ls -lht #查看软链
vim ~/.bash_profile
#添加如下内容:
#!/bin/bash
export JAVA_HOME=/opt/java/jdk
export PATH=/opt/java/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin source ~/.bash_profile
cp ~/.bash_profile /etc/profile.d/java.sh
执行完后,使用
java -version 验证是否配置成功;
客户端安装配置Maven
过程很简单,与JDK类似,具体如下:
download:http://maven.apache.org/download.cgi
mkdir /opt/maven
mv ~/apache-maven-3.2.-bin.tar.gz /opt/maven
cd /opt/maven
tar zxvf apache-maven-3.2.-bin.tar.gz
ln -s apache-maven-3.2. apache-maven
vim ~/.bash_profile
#添加如下内容:
export M2_HOME=/opt/maven/apache-maven-3.2.
export PATH=$M2_HOME/bin:$PATH source ~/.bash_profile
执行完毕后,使用 mvn -version 验证是否配置成功;
安装Sonar
download:http://www.sonarqube.org/downloads/
下载到安装包后,使用unzip将其解压到/opt/sonar目录下,到 /opt/sonar/sonarqube-4.5.2/bin/linux-x86-64目录下,
执行:sh sonar.sh start
启动sonar,访问:192.168.11.234:9000
可出现如下画面,说明sonar已安装成功,
配置MySQL
Sonar虽然自带了数据库,但不推荐生产环境使用,我们还是使用MySQL,MySQL服务器在远端(假设IP为192.168.11.212),与Sonar服务器分离,具体配置如下所示:
CREATE USER sonar@'192.168.11.234';
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
配置Sonar
配置完MySQL后,需要修改Sonar的配置文件,具体操作如下:
cd /opt/sonar/sonarqube-4.5./conf
vim sonar.properties
# 只需修改username,password和url即可
sonar.jdbc.username=sonar
sonar.jdbc.password=password
sonar.jdbc.url=
jdbc:mysql://192.168.11.212:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
配置完成后,到bin目录下执行 sh sonar.sh restart,重启Sonar,再次打开界面,即可看到数据库已配置成功;
客户端Maven执行Sonar扫描
在自己开发环境下Maven的配置文件settings.xml文件中,添加如下内容:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<sonar.jdbc.url>jdbc:mysql://192.168.11.212:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance</sonar.jdbc.url>
<sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>password</sonar.jdbc.password>
<sonar.host.url>http://192.168.11.234</sonar.host.url>
</properties>
</profile>
之后cd到自己的项目根目录,执行:mvn sonar:sonar,就可以完成sonar的扫描了,它会自动把结果扫描保存到mysql,执行完成之后,登陆sonar的页面,即可看到我们刚刚生成的报告;
具体如下图所示:
TODO
生产环境将Sonar部署到Tomcat中;
参考
http://www.ibm.com/developerworks/cn/java/j-lo-sonar/
Sonar服务器搭建的更多相关文章
- 利用Sonar定制自定义JS扫描规则(一)——sonar环境搭建
接触sonar已经有段时间了,最早是在一个项目组里面听到这个框架,后来在公司持续集成活动的推动下,也逐渐学习了sonar的具体功能.sonar集成了findbugs,pmd,checkstyle各种静 ...
- Git本地服务器搭建及使用详解
Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...
- Linux下的SVN服务器搭建
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...
- 版本控制-svn服务器搭建和常用命令(centos 6.3)
Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...
- 版本控制-Git服务器搭建和常用命令使用
Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...
- JAVA服务器搭建之问题总结
负责维护公司产品的web服务器搭建与维护,最近遇到一下状况,今天在这里简单总结一下,希望对于刚刚一些刚入行的小伙伴有所帮助,避免再走弯路. 第一点:Tomcat内存设置: 一.常见的Java内存溢出有 ...
- 烂泥:Postfix邮件服务器搭建之虚拟用户配置
virtual_gid_maps = static: virtual_transport = dovecot dovecot_destination_recipient_limit = 1 注意:po ...
- Centos vsftpd服务器搭建
Centos vsftpd服务器搭建 时间:2016-07-18 1.最为简单的vsftpd服务器搭建 1.安装vsftpd 1.yum 安装 yum install vsftpd 2.rpm文件安装 ...
- Linux下的SVN服务器搭建
鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始****** ...
随机推荐
- C++开源库(一) ----log4cpp详解
我们在写程序的时候通常会希望将一些信息记录下来,方便我们进行日后的一些信息跟踪,错误排查等等.比如:我们在进行数据库操作的时候,我们通常希望知道现在是程序的哪一部分进行了数据库的操作,所以我们会记录下 ...
- JSP自学笔记
基础语法 1.对比 JSP:java平台安全性高,适合开发大型的.企业级的web应用程序: ASP.net:.NET平台简单易学,安全性和跨平台性差: PHP:简单高效,成本低,开发周期短,适合中小型 ...
- 《OD学spark》20160925 Spark Core
一.引言 Spark内存计算框架 中国Spark技术峰会 十二场演讲 大数据改变世界,Spark改变大数据 大数据: 以Hadoop 2.x为主的生态系统框架(MapReduce并行计算框架) 存储数 ...
- hdu 5693 D Game
D Game HDU - 5693 众所周知,度度熊喜欢的字符只有两个:B 和D. 今天,它发明了一个游戏:D游戏. 度度熊的英文并不是很高明,所以这里的D,没什么高深的含义,只是代指等差数列[(等差 ...
- 在Linux系统下远程连接oracle的防火墙设置
在Linux系统要远程连接Oracle的防火墙设置方法: 打开5801至5810 端口用于vnc iptables -I INPUT -p tcp --dport 5801:5810 -j ACCEP ...
- python web开发之flask框架学习(1) 创建flask项目
python 开发越来越火,作为菜鸟,也应该学习一下,感觉还可以,记录下来,方便学习参考. 不管做什么开发首先肯定是安装环境,这里我用的是pycharm,python3.如果不清楚怎么安装环境可以去网 ...
- python基本数据类型练习
一.元素分类# 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中.# 即 ...
- Zipkin — 微服务链路跟踪.
一.Zipkin 介绍 Zipkin 是什么? Zipkin的官方介绍:https://zipkin.apache.org/ Zipkin是一款开源的分布式实时数据追踪系统(Distributed ...
- Java关键字和基础问题
1. Java关键字 1.1 extends和implements extends继承普通class或abstract(抽象)类(java单继承) implements多继承能力,实现interfac ...
- 一步一步配置Spring
https://blog.csdn.net/tangtong1/article/details/51442757