摘要:本系列讲述Sonar在Linux下安装及配置过程,windows下的安装类似,会更简单。

本人经过一翻摸索,终于将Sonar+Hudson+Maven配置成功,并使用Hudson进行自动构建,发邮件,并在Hudson里调用Sonar对代码进行分析,发邮件通知所有人。

1. 下载Sonar最新版本,当前最新版本是3.7.3: http://www.sonarqube.org/downloads/

2.  安装MYSQL,JAVA,并在mysql里分别创建用户、数据库、表,供sonar使用,以下为相应的执行脚本:

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;

3. 在Sonar里配置#2新建的数据库:

#下面两行已经在sonar.properties默认就已经存在
sonar.jdbc.username: sonar
sonar.jdbc.password: sonar
#下面这行新加上去就行了
sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true # 可选项,其实最好还是加进去,这里使用的是mysql的driver,sonar默认支持多种数据,除了oracle, 如果要换成oracle则需要自己去下jar包并复制到: <install_directory>/extensions/jdbc-driver/oracle
sonar.jdbc.driverClassName: com.mysql.jdbc.Driver

4. 配置好以上步骤之后,实际上sonar就已经可以启动了,因为sonar本身自带了容器可以运行起来,如果想试验一下就直接运行:<install_directory>/bin/linux-x86-64/sonar.sh start,这样sonar就运行成功了,在浏览器上打开:http://localhost:9000/ 即可看到sonar的界面;但是如果你本身是想在公司里面使用sonar,那么建议还是将sonar放入到相应的容器(tomcat, weblogic,...)里面比较好,略过这步,接着往下走

5. 将sonar放入tomcat容器里进布署,首先需要将sonar打成war包,sonar本身已经将打包过程写成ant脚本,可以直接在linux下执行打包,执行:<install_directory>/war/build-war.sh,此时会打出包sonar.war

将sonar.war复制至<tomcat>/webapps/下:cp <install_directory>/war/sonar.war <tomcat>/webapps/

6. 启动tomcat服务器:./bin/start.sh

参考:

http://www.cnblogs.com/gao241/p/3190701.html

http://docs.codehaus.org/display/SONAR/Installing

Sonar+Hudson+Maven构建系列之一:安装Sonar的更多相关文章

  1. Sonar+Hudson+Maven构建系列之二:迁移Sonar

    摘要:由于昨天在一台机器上安装的东西太多了,导致Linux机器上非常卡,一台Linux负担了jira, fisheye, confluence, sonar, hudson, mysql 等等,本来已 ...

  2. Sonar+Hudson+Maven构建系列之三:安装Hudson

    摘要:其实前面介绍过Sonar,后面Hudson安装就方便了.安装Hudson之前说说Hudson相关的事,现在世面上的有两种与Hudson相关的CI工具,一个是Hudson,一个是Jenkins,这 ...

  3. Maven进价:Maven构建系列文章

    Maven:基于Java平台的项目构建.依赖管理和项目信息管理. 1.构建 Maven标准化了构建过程 构建过程:编译.运行单元测试.生成文档.打包和部署 避免重复:设计.编码.文档.构建 2.依赖管 ...

  4. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  5. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

  6. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...

  7. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  8. 持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知

    持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知 一:Sonar是什么?Sonar 是一个用于代码质量管理的开放平台,通过插件机制,Sonar 可以集成不同的测试工具 ...

  9. windows下安装Sonar

    1.sonar安装: sonar有三部分组成: 1.服务端:显示分析结果和sonar相关配置 2.客户端:对项目运行源代码进行运算和分析 3.数据库:存储sonar配置和代码分析结果的数据库 2.so ...

随机推荐

  1. mac 下终端访问文件出现“Permission Denied”解决方案

    mac 下终端访问文件出现“Permission Denied”解决方案: 一个文件有3种权限,读.写.可执行,你这个文件没有可执行权限,需要加上可执行权限. 1. 终端下先 cd到该文件的目录下 2 ...

  2. Unity教程之再谈Unity中的优化技术

    这是从 Unity教程之再谈Unity中的优化技术 这篇文章里提取出来的一部分,这篇文章让我学到了挺多可能我应该知道却还没知道的知识,写的挺好的 优化几何体   这一步主要是为了针对性能瓶颈中的”顶点 ...

  3. AngularJS小试牛刀

    总看别人说argularjs,knockoutjs,mvvm模式这些,光看不练假把式,于是便在自己的一个小网站上做了个简单的页面应用了下argularjs ,详细地址见 http://www.591j ...

  4. C# 根据IP地址获取城市

    using System; using System.IO; using System.Net; using System.Text; using System.Web.Script.Serializ ...

  5. JAVA命令大全

    1.java.exe:======================运行java程序,这个相信每一位用Java的人知道了. 2.javac.exe:======================编译的Ja ...

  6. Centos上传下载小工具lrzsz

    http://www.centoscn.com/image-text/install/2013/0819/1374.html

  7. C#实现AES加解密方法

    using System; using System.Collections.Generic; using System.Text; using System.Security.Cryptograph ...

  8. TASKKILL命令使用大全

    Mr.Savin Mr.Savin 2009-08-07 183315TASKKILL [S system [U username [P [password]] { [FI filter] [PID ...

  9. java笔记--适配器模式的运用

    适配器模式的运用 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3884785.html "谢谢-- 主要应用: 可以在符合 ...

  10. [Effective JavaScript 笔记]第46条:使用数组而不要使用字典来存储有序集合

    对象属性无序性 js对象是一个无序属性集合. var obj={}; obj.a=10; obj.b=30; 属性a和属性b并没有谁前谁后之说.for...in循环,先输出哪个属性都有可能.获取和设置 ...